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

Ваш аккаунт

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

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

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

HTTP Upload не работает в Эксплорере

4.1K
21 сентября 2003 года
paulfil
8 / / 10.09.2003
Здравствуйте. Моя задача - загрузить файл, указываемый в форме, на сервер. Нашёл кучу примеров, сделал, как все люди. Результат - в Опере всё нормально работает, в Эксплорере не хочет :( Кто-нибудь сталкивался с этой проблемой?

форма:
<form method="post" enctype="multipart/form-data" action="/cgi-bin/editmodel.pl">
<input type="hidden" name="id" value="22">
...
<input type="file" name="picture">
...
...

Скрипт:
if($picture_name)
{
$picture_name=~s/.*\\//;
$picture_name=~s/.*\///;
$picname=$dir.$ID.'/'.$picture_name;
$final_text=$picture_name.','.$picname;
if( open(PICFILE, ">>$picname") )
{
binmode (PICFILE);
print PICFILE <$picture_name>;
close(PICFILE);
}
else
{
...
}
}
283
21 сентября 2003 года
Alone
910 / / 20.11.2002
Для начала общей теории....

$picture_name=~s/.*\\//;
$picture_name=~s/.*\///;
странное РВ...
делай так $picture_name=~s%[\\/]%%g;

">>$picname" открывает файл для дозаписи а если его нет создает новый. Понимаеш чем отличается от ">$picname"?

Покажи как определяеш переменную $picture_name
создается ли правильный(с правильным именем) файл?
переменная $picture_name что содержит(ну когда неудается закачать файл)
Верися IE
А с другими скриптами закачки файлов твой сервак работает нормально?
300
22 сентября 2003 года
ReDrum
689 / / 20.04.2000
Здесь
http://forum.codenet.ru/showthread.php?s=&threadid=12514
мы беседовали ;) на тему загрузки файлов
4.1K
22 сентября 2003 года
paulfil
8 / / 10.09.2003
Всем спасибо за внимание :) Проблема решилась. А было вот что: Опера отправляет в качестве параметра только имя файла, без пути. Соответственно, после отрезания пути она получает то же самое, что мне отправила, и выдаёт файл.
Эксплорер отправляет мне имя файла с путём. После отрезания пути эксплорер не понимает, что я от него хочу, и не отправляет мне данные. Соответственно, у меня на сервере создаётся файл нулевой длины с правильным именем.
После того, как я это обнаружил, решение стало очевидно :)

Alone
делай так $picture_name=~s%[\\/]%%g

Спасибо, это красивее, чем у меня написано. Буду пользоваться :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог