2013-05-29 3 views
0

Я отправляю файл по HTML, и я хочу его переместить, но он всегда возвращает значение false. вот мой код:PHP move uploaded file always error

$fileName = $_FILES['atc']['name']; 
$fileTmp = $_FILES['atc']['tmp_name']; 

$newDir = "/home/goes/attachments/" . $fileName; 

$a = move_uploaded_file($fileTmp, $newDir); 

if ($a==true){ 
echo "true"; 
} 

else{ 
echo "false"; 
} 
+0

Вы проверили содержимое ваших полей и переменный каталог Похоже, по крайней мере? одна из двух каталогов не найдена. – randomizer

+3

Вы проверили, что ваша форма настроена на использование многострочной кодировки? – Spudley

+0

Попробуйте '$ newDir = getcwd()."/home/go/attachments/". $ fileName;' –

ответ

0
  1. Проверьте содержимое всех ваших переменных, увидеть, если они содержат что-нибудь (хороший)
  2. Проверьте, если каталог, в котором вы хотите разместить файлы существует, и записываемые с помощью веб-сервера (или того, кто выполняет PHP-процесс).
  3. Это сценарий, который вы вызываете из своей формы? В Apache хранятся только загруженные файлы на протяжении всего вызванного сценария, после чего файлы удаляются, если они не обрабатываются скриптом.
+0

hmm да, файл st ored to/tmp/folder, мне нужно изменить разрешение сначала в папке tmp? – bagus

+0

Папка/tmp/является временной папкой веб-сервера, она, вероятно, будет иметь права доступа. Это разрешение/home/go/attachments /, которое вы должны проверить. – Borniet

+1

спасибо, у меня есть chmod мой каталог ... и он работает :) – bagus

0

Еогеасп ($ _FILES [ 'АТЦ'] [ 'tmp_name'], как $ ключ => $ tmp_name) {$
путь = "домой/идет/вложения /". $ Имя_файл ";
move_uploaded_file ($ tmp_name, $ путь); }

1

Папка назначения не может быть иметь разрешения на запись