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-файл

Другие вопросы по тегам