Загрузка файлов на сервер!
Не работает загрузка файлов на локальной машине (ХР)
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>FILEUPLOAD</title>
</head>
<body>
<form enctype="multipart/form-data" action="" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Отправить этот файл: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
<pre>
<?
print_r($_FILES);
?>
</pre>
</body>
</html>
не грузится собака и все тут!
php.ini
<<
file_uploads = On
upload_max_filesize = 2M
>>
ставлю новый сервер (Denver) тоже самое
помогите плиз! что с моим компом?
Это Вы кому писали? Чтоб попонтоваться?
<form enctype="multipart/form-data" action="" method="post">
А какой скрипт должен это все обрабатывать, а?
не грузится сцука и все тут!
имхо, не советовал бы Вам так выражаться (и тут, и вообще)
ставлю новый сервер (Denver) тоже самое
помогите плиз! что с моим компом?
Дело не в сервере ;)
А какой скрипт должен это все обрабатывать, а?
имхо, не советовал бы Вам так выражаться (и тут, и вообще)
Дело не в сервере ;)
молодца! помог!
При пустом п-ре action тега form подразумевается, что обработка будет производиться этим же самым скриптом, т.е. аффтар расчитывает, что незасабмиченная страница при первой загрузке выведет лишь array()(т.к. само собой массив $_FILES пуст) на месте:
<?
print_r($_FILES);
?>
</pre>
Ну а после нажатия на кнопку, откроется эта же страница, но в ней уже будут доступны (?) отправленные посредством формы данные.
[COLOR="Gray"]З.Ы. у меня код работает.[/COLOR]
Впрочем телепаты в отпуске (С) :)
StFed, если ты уверен, что в твоем случае допустимы краткий открывающий дескриптор (вместо полного <?php), что ты сверялся с нужным php.ini файлом [COLOR="DimGray"](проверь в инфе phpinfo(), хотя, раз уж пробовал и на Денвере..... даже не знаю)[/COLOR].
Ну а пустое array() хоть выводит?
При пустом п-ре action тега form подразумевается, что обработка будет производиться этим же самым скриптом, т.е. аффтар расчитывает, что незасабмиченная страница при первой загрузке выведет лишь array()(т.к. само собой массив $_FILES пуст) на месте:
<?
print_r($_FILES);
?>
</pre>
Ну а после нажатия на кнопку, откроется эта же страница, но в ней уже будут доступны (?) отправленные посредством формы данные.
[COLOR="Gray"]З.Ы. у меня код работает.[/COLOR]
Впрочем телепаты в отпуске (С) :)
StFed, если ты уверен, что в твоем случае допустимы краткий открывающий дескриптор (вместо полного <?php), что ты сверялся с нужным php.ini файлом [COLOR="DimGray"](проверь в инфе phpinfo(), хотя, раз уж пробовал и на Денвере..... даже не знаю)[/COLOR].
Ну а пустое array() хоть выводит?
Дружище! веришь нет все опробовал!
вот так массив после сабмита
(
[userfile] => Array
(
[name] => Закат.jpg
[type] =>
[tmp_name] =>
[error] => 6
[size] => 0
)
)
самое странное в этой истории то что [error] => 6 а в описаниях ошибок ссылка максимум 4!
на соседнем компе попробовал... работает так что же с моим компом ???
При пустом п-ре action тега form подразумевается, что обработка будет производиться этим же самым скриптом
Ни разу не слышал, чтобы какой-то из браузеров криво интерпретировал пустой п-р action и сделал что-то другое, кроме отправки данных по текущему URL [COLOR="Gray"](в смысле точного URL, с которого произведен submit)[/COLOR]
Поправьте плз., если кто-то располагает другими сведениями.
А какая версия ПХП?
Но вот например первый резалт по запросу http://www.yandex.ru/yandsearch?stype=www&nl=0&text=UPLOAD_ERR_NO_FILE
(че-то не грузится, вытаскивал из кеша Яндекса)
Цитирую из камментов о дополнительных кодах (за достоверность не ручаюсь):
This is probably useful to someone.
<?
array(
0=>"There is no error, the file uploaded with success",
1=>"The uploaded file exceeds the upload_max_filesize directive in php.ini",
2=>"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"
3=>"The uploaded file was only partially uploaded",
4=>"No file was uploaded",
6=>"Missing a temporary folder"
);
?>
Если интересует сопоставленное номеру ошибки имя константы, - там же есть наглядный код проверки.
+ не уходя далеко от твоего линка, можешь посмотреть "Наиболее распространенные ошибки" - http://ru2.php.net/manual/ru/features.file-upload.common-pitfalls.php
Мало ли, может чего найдешь.
Если дело и вправду в отсутствующей временной директории, вероятно копай php.ini в сторону upload_tmp_dir = (Temporary directory for HTTP uploaded files (will use system default if not specified))
Если дело и вправду в отсутствующей временной директории, вероятно копай php.ini в сторону upload_tmp_dir = (Temporary directory for HTTP uploaded files (will use system default if not specified))
Вполне возможно, но если оставить директиву upload_tmp_dir пустой то Temporary directory будет взята по умолчанию в зависимости от вебсервера. Может конечно и ошибаюсь.
Раньше все работало с пустой upload_tmp_dir.
Может что с виндой или того хлеще хардом ?
Раньше все работало с пустой upload_tmp_dir.
Может что с виндой или того хлеще хардом ?
[COLOR="Gray"]Заранее хочу извиниться и обратить внимание, что немного ступил отсылая на Яндекс. Там самая страница из кеша - не что иное, как более старый вариант документа по твоему линку (чем я только смотрел) :) Вообщем, еще раз обрати внимание на комментарии от rjg4013 at rit dot edu (07-Jul-2006 01:53 ) и adam at gotlinux dot us (27-May-2005 06:28), а еще лучше все дружно идем в англ. версию, иногда очень полезно, там инфа обо всех 9ти (0-8) значениях флага ошибки - http://ru.php.net/manual/en/features.file-upload.errors.php[/COLOR]
Насчет харда судить не могу, хотя ИМХО маловероятно.
Я даже не могу судить о том, как ПХП запрашивает у системы ту самую system default временную директорию. Ты прав, она будет взята по умолчанию, как я и цитировал ранее строку из php.ini, но мало ли, по какому пути отсылает винда (или вебСервер?) и по каким причинам ПХП не может туда писАть.
Проще говоря - попробуй все таки указать её явно.
Или же, если не лень, переставь систему. Хотя думаю первый вариант предпочтительнее, хотя бы в эксперементальных целях.
Проще говоря - попробуй все таки указать её явно.
Ты знаешь... указал upload_tmp_dir = "/tmp".
Работает :)
Но остается загадкой - почему upload_tmp_dir не устанавливался поумолчанию?
Спасибо!
Как говорят в народе: респект и уважуха! :D
Работает :)
Но остается загадкой - почему upload_tmp_dir не устанавливался поумолчанию?
Спасибо!
если NTFS FS, то у тебя должна быть расшаренная директория %TEMP% в системе, ну все права на неё у всех быть =)
а если FAT )) то хз... у меня например та же бодяга с сессиями была, не хотел сохранять файлы сессий пока не указал ему явно путь...
где это глянуть можно?
понял :) респект!
SkyM@n, все-таки понежнее с новичками, особенно у которых отрицательная "карма". Им все-равно ничего не докажешь, а дураком себя выставить шанс есть. Стоит брать умом и выдержкой.
StFed, скаймен в некоторых своих утверждениях объективно прав. Прошу следить Вас за своим поведением на профессиональном форуме. Кстати, баню нарушителей я с большим удовольствием.
StFed, скаймен в некоторых своих утверждениях объективно прав. Прошу следить Вас за своим поведением на профессиональном форуме. Кстати, баню нарушителей я с большим удовольствием.
Да речи нет! Прав он! Я уже извинился за мат и исправил *мат* на собака :) Зачем опять тему подымать то ?