|
|
|
| Добрый день.
Не удается загрузить файл на сервер.
else if ($_POST['action'] == "add"){
$hiperlink = "";
$docfile = "";
if ( isset($_FILES['docfile']['name']) ){
$docfile = "docs/";
$docfile .= $_FILES['docfile']['name'];
if (is_uploaded_file($_FILES['docfile']['tmp_name'])) {
move_uploaded_file ( $_FILES['docfile']['tmp_name'], $docfile );
$hiperlink = "<br><a href=http://sub.domain.ru/docs/";
$hiperlink .=$_FILES['docfile']['name'];
$hiperlink .=" >подробнее...</a>";
}
}
}
|
Файл не загружается в указанную папку. Никаких сообщений не выводится.
На локальном хосте всё работает.
В чем может быть проблема?
Спасибо. | |
|
|
|
|
|
|
|
для: Хулиган
(13.05.2009 в 10:34)
| | Разрешение на папку. 755. | |
|
|
|
|
|
|
|
для: DJ Paltus
(13.05.2009 в 10:43)
| | Пробовал. И 755, и 777 - всё без толку.
Прбовал и относительные пути, и абсолютные | |
|
|
|
|
|
|
|
для: Хулиган
(13.05.2009 в 11:19)
| | Может, во временную папку не пишется? | |
|
|
|
|
|
|
|
для: DJ Paltus
(13.05.2009 в 12:14)
| | через временную папку проходит, т.к. если бы не проходил, то не формировалась бы ссылка на файл (условие if (is_uploaded_file($_FILES['docfile']['tmp_name'])) не выполнялось бы).
А т.к. ссылка формируется, значит аплод во временную папку проходит, а перенос по указанному пути - нет. | |
|
|
|
|
|
|
|
для: Хулиган
(13.05.2009 в 12:50)
| | А move_uploaded_file что возвращает? фолс, трю? | |
|
|
|
|
|
|
|
для: DJ Paltus
(13.05.2009 в 14:28)
| | может быть ограничение на размер файла. | |
|
|
|
|
|
|
|
для: DJ Paltus
(13.05.2009 в 14:28)
| | move_uploaded_file возвращает false.
Иначе файл лежал бы там, куда я его направляю.
Во временную папку файл загружается, вот вывод от
echo 'Размер файла ' . $_FILES['docfile']['tmp_name'] . ': ' . filesize($_FILES['docfile']['tmp_name']) . ' байтов';
Размер файла /var/spool/sessions/442/21/phpwU3seK: 214 байтов
Тип файла вполне допустимый: txt.
Вывода об ошибках нет, при том, что сделал error_reporting (E_ALL); | |
|
|
|
|
|
|
|
для: Хулиган
(14.05.2009 в 18:25)
| | а методом втыка: каждый if закрывать else {echo "oblom1";} else {echo "oblom2";} else {echo "oblom3";} | |
|
|
|
|
|
|
|
для: ronin
(14.05.2009 в 19:21)
| | останавливается на стадии move_uploaded_file.
Файл загружается во временную папку, но не перемещается по указанному пути. | |
|
|
|
|
|
|
|
для: Хулиган
(14.05.2009 в 19:38)
| | Доступ к логам есть? Про рестрикшн не пишет ничего?
Прямой доступ по SSH или FTP к директории /tmp есть?
Попробуй мув_аплодед_файл прямо непосредственно в нее и погляди, чо скажет.
В плане маразма, может, имя файла не генерируется почему-то? Пусть напишет, когда сформирует. | |
|
|
|
|
|
|
|
для: DJ Paltus
(14.05.2009 в 20:56)
| | Проблема прояснилась.
Загрузить файл удается, но только в текущую директорию. Т.е. в ту папку, в которой находится скрипт.
В остальные папки - никак. Что бы не указывал - и полный путь, и относительный - не загружается и всё тут.
Т.е. move_uploaded_file ( "tmp_name", "name") работает, а move_uploaded_file ( "tmp_name", "docs/"."name") - нет.
В общем, плюнул на всё, и решил перетаскивать файл после аплода вручную из текущей папки в нужную мне папку при помощи copy+delete. | |
|
|
|
|
|
|
|
для: Хулиган
(15.05.2009 в 02:28)
| | А директория, в которую грузятся файлы, находится в той же директории, в которой скрипт?
Вообще то если не пишет, должен нотис быть. В логах пусто? У меня Ваш скрипт чудесно работает. | |
|
|
|
|
|
|
|
для: Хулиган
(15.05.2009 в 02:28)
| | я вот чо еще подумал.
если работаешь в домене 3 уровня, может произойти путаница с путями, как начнет считать от корня или от 2-го уровня, так и не найдет директорию.
Наделай директорий docs везде, а потом посмотри, вдруг, в одну из них таки скопирует ))) | |
|
|
|
|
|
|
|
для: DJ Paltus
(15.05.2009 в 09:58)
| | С путями всё нормально. И скрипт и папка docs находятся в одной папке. Для copy я ведь те же пути указываю, что и для mov_uploaded_file.
Папок docs понаделал тучу, думал где-нибудь отловлю этот файл - ничего.
В общем пока так и оставил, с копированием. | |
|
|
|
|
|
|
|
для: Хулиган
(15.05.2009 в 11:39)
| | Возможно проблема в относительных путях самого скрипта. У меня такое было, когда скрипт лежит в одной папке, а вызываю я его методы из другой дирректории. Попробуйте создать папку 'docs' в той директории, откуда запускаете скрипт. | |
|
|
|