Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Загрузка файлов на сервер!

17K
31 июля 2007 года
StFed
27 / / 09.03.2007
Люди! Я владею PHP и прочими близлежащими технологиями уже более 4 лет. Создавал различные сайты и сервисы! Много чего повидал... но такого!

Не работает загрузка файлов на локальной машине (ХР)

Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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) тоже самое
помогите плиз! что с моим компом?
251
31 июля 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: StFed
Люди! Я владею PHP и прочими близлежащими технологиями уже более 4 лет. Создавал различные сайты и сервисы!


Это Вы кому писали? Чтоб попонтоваться?

Цитата: StFed

<form enctype="multipart/form-data" action="" method="post">


А какой скрипт должен это все обрабатывать, а?

Цитата: StFed

не грузится сцука и все тут!


имхо, не советовал бы Вам так выражаться (и тут, и вообще)

Цитата: StFed

ставлю новый сервер (Denver) тоже самое
помогите плиз! что с моим компом?


Дело не в сервере ;)

17K
31 июля 2007 года
StFed
27 / / 09.03.2007
Цитата: SkyM@n
Это Вы кому писали? Чтоб попонтоваться?

А какой скрипт должен это все обрабатывать, а?

имхо, не советовал бы Вам так выражаться (и тут, и вообще)

Дело не в сервере ;)


молодца! помог!

1.9K
31 июля 2007 года
InterWen
331 / / 16.09.2006
Кончайте ссориться.


При пустом п-ре action тега form подразумевается, что обработка будет производиться этим же самым скриптом, т.е. аффтар расчитывает, что незасабмиченная страница при первой загрузке выведет лишь array()(т.к. само собой массив $_FILES пуст) на месте:

 
Код:
<pre>
<?
    print_r($_FILES);
?>
</pre>


Ну а после нажатия на кнопку, откроется эта же страница, но в ней уже будут доступны (?) отправленные посредством формы данные.


[COLOR="Gray"]З.Ы. у меня код работает.[/COLOR]


Впрочем телепаты в отпуске (С) :)
StFed, если ты уверен, что в твоем случае допустимы краткий открывающий дескриптор (вместо полного <?php), что ты сверялся с нужным php.ini файлом [COLOR="DimGray"](проверь в инфе phpinfo(), хотя, раз уж пробовал и на Денвере..... даже не знаю)[/COLOR].

Ну а пустое array() хоть выводит?
251
31 июля 2007 года
SkyMаn
1.7K / / 31.07.2007
А эт ничего страшного, что action="" , да?
17K
31 июля 2007 года
StFed
27 / / 09.03.2007
Цитата: InterWen
Кончайте ссориться.


При пустом п-ре action тега form подразумевается, что обработка будет производиться этим же самым скриптом, т.е. аффтар расчитывает, что незасабмиченная страница при первой загрузке выведет лишь array()(т.к. само собой массив $_FILES пуст) на месте:

 
Код:
<pre>
<?
    print_r($_FILES);
?>
</pre>


Ну а после нажатия на кнопку, откроется эта же страница, но в ней уже будут доступны (?) отправленные посредством формы данные.


[COLOR="Gray"]З.Ы. у меня код работает.[/COLOR]


Впрочем телепаты в отпуске (С) :)
StFed, если ты уверен, что в твоем случае допустимы краткий открывающий дескриптор (вместо полного <?php), что ты сверялся с нужным php.ini файлом [COLOR="DimGray"](проверь в инфе phpinfo(), хотя, раз уж пробовал и на Денвере..... даже не знаю)[/COLOR].

Ну а пустое array() хоть выводит?



Дружище! веришь нет все опробовал!
вот так массив после сабмита

Код:
Array
(
    [userfile] => Array
        (
            [name] => Закат.jpg
            [type] =>
            [tmp_name] =>
            [error] => 6
            [size] => 0
        )

)


самое странное в этой истории то что [error] => 6 а в описаниях ошибок ссылка максимум 4!
на соседнем компе попробовал... работает так что же с моим компом ???
17K
31 июля 2007 года
StFed
27 / / 09.03.2007
Цитата: SkyM@n
А эт ничего страшного, что action="" , да?



При пустом п-ре action тега form подразумевается, что обработка будет производиться этим же самым скриптом

1.9K
31 июля 2007 года
InterWen
331 / / 16.09.2006
С точки зрения стиля или работоспособности?

Ни разу не слышал, чтобы какой-то из браузеров криво интерпретировал пустой п-р action и сделал что-то другое, кроме отправки данных по текущему URL [COLOR="Gray"](в смысле точного URL, с которого произведен submit)[/COLOR]

Поправьте плз., если кто-то располагает другими сведениями.
1.9K
31 июля 2007 года
InterWen
331 / / 16.09.2006
И вправду странный код ошибки.
А какая версия ПХП?


Но вот например первый резалт по запросу 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))
17K
31 июля 2007 года
StFed
27 / / 09.03.2007
Цитата: InterWen

Если дело и вправду в отсутствующей временной директории, вероятно копай 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.
Может что с виндой или того хлеще хардом ?

1.9K
01 августа 2007 года
InterWen
331 / / 16.09.2006
Цитата: StFed
Вполне возможно, но если оставить директиву upload_tmp_dir пустой то Temporary directory будет взята по умолчанию в зависимости от вебсервера. Может конечно и ошибаюсь.

Раньше все работало с пустой 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, но мало ли, по какому пути отсылает винда (или вебСервер?) и по каким причинам ПХП не может туда писАть.
Проще говоря - попробуй все таки указать её явно.
Или же, если не лень, переставь систему. Хотя думаю первый вариант предпочтительнее, хотя бы в эксперементальных целях.

92
01 августа 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: SkyM@n
Это Вы кому писали? Чтоб попонтоваться?


это писал человек для того, чтобы не посылали на..... google.com и "man man" :)

Цитата: SkyM@n

имхо, не советовал бы Вам так выражаться (и тут, и вообще)



согласен.

17K
01 августа 2007 года
StFed
27 / / 09.03.2007
Цитата: InterWen

Проще говоря - попробуй все таки указать её явно.



Ты знаешь... указал upload_tmp_dir = "/tmp".
Работает :)

Но остается загадкой - почему upload_tmp_dir не устанавливался поумолчанию?

Спасибо!

17K
01 августа 2007 года
StFed
27 / / 09.03.2007
Цитата: Тень Пса
это писал человек для того, чтобы не посылали на..... google.com и "man man" :)



Как говорят в народе: респект и уважуха! :D

92
01 августа 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: StFed
Ты знаешь... указал upload_tmp_dir = "/tmp".
Работает :)

Но остается загадкой - почему upload_tmp_dir не устанавливался поумолчанию?

Спасибо!


если NTFS FS, то у тебя должна быть расшаренная директория %TEMP% в системе, ну все права на неё у всех быть =)

а если FAT )) то хз... у меня например та же бодяга с сессиями была, не хотел сохранять файлы сессий пока не указал ему явно путь...

17K
01 августа 2007 года
StFed
27 / / 09.03.2007
Цитата: Тень Пса
если NTFS FS, то у тебя должна быть расшаренная директория %TEMP% в системе, ну все права на неё у всех быть =)


где это глянуть можно?

92
01 августа 2007 года
Тень Пса
2.2K / / 19.10.2006
))))) в свойствах диска, и в свойствах директории ))))))
17K
01 августа 2007 года
StFed
27 / / 09.03.2007
в реестре смотреть какая у тебя папка %TEMP%?
8
01 августа 2007 года
mfender
3.5K / / 15.06.2005
в My Computer -> Propertis -> и там в какой-то вкладке расписаны переменные среды.
17K
01 августа 2007 года
StFed
27 / / 09.03.2007
Цитата: mfender
в My Computer -> Propertis -> и там в какой-то вкладке расписаны переменные среды.



понял :) респект!

239
02 августа 2007 года
Dolonet
1.7K / / 20.05.2000
[color=red]Модераториат.[/color]

SkyM@n, все-таки понежнее с новичками, особенно у которых отрицательная "карма". Им все-равно ничего не докажешь, а дураком себя выставить шанс есть. Стоит брать умом и выдержкой.

StFed, скаймен в некоторых своих утверждениях объективно прав. Прошу следить Вас за своим поведением на профессиональном форуме. Кстати, баню нарушителей я с большим удовольствием.
17K
02 августа 2007 года
StFed
27 / / 09.03.2007
Цитата: Dolonet
[color=red]Модераториат.[/color]

StFed, скаймен в некоторых своих утверждениях объективно прав. Прошу следить Вас за своим поведением на профессиональном форуме. Кстати, баню нарушителей я с большим удовольствием.



Да речи нет! Прав он! Я уже извинился за мат и исправил *мат* на собака :) Зачем опять тему подымать то ?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог