php и ajax - загрузить фотографию base64 и вернуть ссылку для редактирования
Я пытался сделать это:
- Загрузить фотографию с ПК в виде строки base64 ("data: image / jpeg; base64,...")
- PHP сохранит эту фотографию в полном разрешении в формате.jpg и создаст изображение размером 160x160 .png
- Затем он вернет ссылку на полноразмерное изображение, и пользователь обрежет это фото с помощью Jcop и автоматически отправит размеры, когда пользователь подтвердит
Я сделал это довольно далеко, и он отлично работает на моем местном Apache. Но когда я переместил его на удаленный веб-хостинг (у меня нет доступа к оболочке), первый ajax-запрос (когда пользователь отправил фотографию) возвращает 401 Unauthorized. Я искал неправильные права доступа к файлам, но не уверен, что это проблема разрешений photo.php или разрешений для загруженного изображения. Я установил 0650 для всех каталогов.
Захваченный запрос: http://netbox.wayo.cz/401unauthorized.PNG
Вот код, который сохраняет фото:
if($image = imagecreatefromstring($content))
{
// save full-size photo
if($photo = imagejpeg($image,$file_path,$control->get_config('upload_photo_quality')))
{
// get photo params
list($width,$height,$type,$attr) = getimagesize($file_path);
// create photo thumbnail
$thumb_name = uniqid().'.png';
$thumb_path = DIR_DATA.'thumbs/'.$thumb_name;
imagepng($image,$thumb_path,$control->get_config('upload_photo_compression'));
1 ответ
Вы должны установить 654, в 650 публичный пользователь не может получить доступ к каталогу и внутреннему файлу, если вы запрашиваете PHP, необходимо установить 655, которые позволяют пользователю выполнять PHP-файл