PHP: загрузка проблем - PullRequest
       3

PHP: загрузка проблем

0 голосов
/ 03 января 2012

Я делаю загрузчик изображений, но я столкнулся с 2 ошибками.Которые являются:

Warning: move_uploaded_file(upload/Corgi 007.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/stationr/public_html/admin/doupload.php on line 12

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/chroot/tmp/phpMvRSbS' to 'upload/Corgi 007.jpg' in /home/stationr/public_html/admin/doupload.php on line 12

Ошибки возникают при вызове метода move_uploaded_file ().Вот мой код (обратите внимание, что в нем нет ошибок при проверке того, что происходит, когда загружаются только голые).

1 Ответ

1 голос
/ 03 января 2012

Вы не смогли проверить, была ли загрузка завершена вообще:

if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
   move file ...
} else {
   die("Upload failed with error code " . $_FILES['file']['error']);
}

Коды ошибок документированы здесь: http://www.php.net/manual/en/features.file-upload.errors.php

Кроме того, есть ли подкаталог «upload» в текущем рабочем каталоге вашего скрипта? Есть ли у процесса веб-сервера разрешения на запись в этот каталог?

И в качестве ОСНОВНОЙ дыры в безопасности, вслепую используя параметр ['name'] загрузки в качестве целевого имени файла, злоумышленник может писать на ЛЮБОМ файле на вашем сервере. Никогда не используйте это имя вслепую. Если имя загружаемого файла указано как (скажем) ../../../../../../etc/passwd, теперь вы позволили кому-то заменить файл системного пароля.

...