HTTP Upload не работает в Эксплорере
форма:
<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
{
...
}
}
$picture_name=~s/.*\\//;
$picture_name=~s/.*\///;
странное РВ...
делай так $picture_name=~s%[\\/]%%g;
">>$picname" открывает файл для дозаписи а если его нет создает новый. Понимаеш чем отличается от ">$picname"?
Покажи как определяеш переменную $picture_name
создается ли правильный(с правильным именем) файл?
переменная $picture_name что содержит(ну когда неудается закачать файл)
Верися IE
А с другими скриптами закачки файлов твой сервак работает нормально?
Здесь
Эксплорер отправляет мне имя файла с путём. После отрезания пути эксплорер не понимает, что я от него хочу, и не отправляет мне данные. Соответственно, у меня на сервере создаётся файл нулевой длины с правильным именем.
После того, как я это обнаружил, решение стало очевидно :)
Alone
делай так $picture_name=~s%[\\/]%%g
Спасибо, это красивее, чем у меня написано. Буду пользоваться :)