Как отлаживать move_uploaded_file () в PHP - PullRequest
1 голос
/ 26 мая 2010

move_uploaded_file () больше не будет работать для меня, все работало нормально и просто остановилось из ниоткуда. Есть ли способ проверить, почему он больше не работает? Вот то, что у меня сейчас есть, но оно возвращает только ИСТИНА или ЛОЖЬ.

$status = move_uploaded_file($tempFile, $targetFile);
if($status) {
  echo 'its good';
} else {
  echo 'it failed';
}

Я знаю, что путь на 100% правильный, а каталог - CHMOD 755. Могу ли я что-нибудь сделать неправильно?

Ответы [ 3 ]

3 голосов
/ 26 мая 2010

Может быть, это будет работать:

if(!move_uploaded_file($_FILES['attachement']['tmp_name'], $uploadfile)) {

echo 'Your file was not uploaded please try again
here are your debug informations:
'.print_r($_FILES);

      } else {

          echo 'image succesfully uploaded!';

      } 
2 голосов
/ 26 мая 2010

Проверьте уровень сообщений об ошибках (см. Функцию error_reporting). Вы должны получить предупреждение или уведомление, которое немного более наглядно.

Кроме того, проверьте, что пользователь, с которым работает ваш PHP-скрипт (обычно пользователь сервера, который nobody или www-data во многих системах, но YMMV), владеет каталогом. С 755, только владелец каталога может писать в него.

0 голосов
/ 26 мая 2010

Разрешение 755 означает, что только владелец каталога может писать в этот каталог.

Итак, вопрос в том, кто является владельцем и каким пользователем запущен веб-сервер / php?

Если они не совпадают, вы можете изменить владельца или группу (также изменив права доступа на 775).

...