move_uploaded_file не работает - PullRequest
       10

move_uploaded_file не работает

1 голос
/ 08 февраля 2010

Я загружаю файлы через JS и сохраняю временный путь в сеансе. Затем я использую следующий код для перемещения файлов.

if(move_uploaded_file($_SESSION['temp_img'][$key]['path'], $dest.$bigimg)){

$dest и $bigimg определены ранее в скрипте с идентификатором из базы данных.

Есть идеи или альтернативы?

Ответы [ 3 ]

2 голосов
/ 22 апреля 2010

Манчук ответил близко, но не совсем. Вы должны вызвать move_uploaded_file в сценарии, куда был загружен файл. Вы не можете делать то, что делаете, то есть «хранить временный путь в сеансе», поскольку этот путь действителен только для одного запроса.

Из руководства по PHP:

Файл будет удален из временный каталог в конце запрос , если он не был удален или переименован.

(Выделение мое)

1 голос
/ 08 февраля 2010

move_uploaded_file проверяет, что файл был загружен на эту страницу. Вы на самом деле загружаете файл в другой скрипт PHP, а затем сохраняете его в сеансе. Вместо использования move_upload_file используйте переименование.

0 голосов
/ 08 февраля 2010

Каков вывод $ _SESSION ['temp_img'] [$ key] ['path'], также у вас есть разрешение на запись в веб-каталог, в котором вы размещаете файлы.Вам может потребоваться установить значение 777 для некоторых хостов, чтобы разрешить веб-серверу писать туда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...