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'));

person Vojta Simko    schedule 05.02.2013    source источник


Ответы (1)


вы должны установить 654, в 650 публичный пользователь не может получить доступ к каталогу и внутреннему файлу, если вы запрашиваете PHP, должен установить 655, что позволяет пользователю Выполнить файл PHP

person mohammad mohsenipur    schedule 05.02.2013
comment
Я пытался изменить права доступа к этим папкам, но пишет: Command: SITE CHMOD 654/www/domains/netbox.wayo.cz/app/ajax/edit Response: 550 SITE CHMOD command failed. - person Vojta Simko; 06.02.2013
comment
убедитесь, что последнее разрешение каталога установлено 655, например, сначала установите разрешение /ajax/, затем установите разрешение /edit/. Я рекомендовал использовать программу FTP, например cuteftp для установки разрешения - person mohammad mohsenipur; 06.02.2013
comment
Спасибо за ваш ответ, у меня все еще есть проблема с разрешениями, но я обсуждаю ее с моим хостинг-провайдером, и кажется, что у моей корневой учетной записи FTP нет необходимых разрешений для ее изменения. Но это вина провайдера, потому что другие учетные записи FTP, которые есть у моих друзей, могут изменить эти разрешения. - person Vojta Simko; 07.02.2013