Forum Webscript.Ru

Программирование => Perl => Тема начата: Phoinix от 03 Ноября 2003, 09:56:06

Название: Временные файлы при upload?
Отправлено: Phoinix от 03 Ноября 2003, 09:56:06
Во время upload файла (картинки), файл записывается туда куда нужно, но в папке где расположен скрипт появляется файл "CGItempxxxxx" где xxxxx - какое-то число? при этом ошибок не выдает в логах, и картинка записывается не битая, а кам файл "CGItempxxxxx" является копией этой картинки...

Скрипт upload:


use CGI;
  $query = new CGI;
  $image = $query -> param(\'image\');
  $tv[0] = $image;       # определяем полное имя файла
  $tv[0] =~s /.*((png)|(gif)|(jpg))$/$1/i; # определяем тип файла
  $file = "h:/home/test/html/gallery".$tv[1].".".$tv[0]; # $tv[1] - имя файла определяемое отдельной функцией
  open (IMG, ">$file"); binmode IMG; flock ($file, 2); print IMG while (<$image>); close (IMG); chmod 0744, $file;


Система - Win2K Pro SP3
Сервер - Apache 1.3.28
Интерпритатор - Perl 5.6.1.
Модули Perl - CGI 3.0

Не могу понять откуда этот глюк, но я проверял этот скрипт на другой машине с тем же программным обеспечением, но temp файлов не появлялось, может где-то настройки какие-то неправильны?
Название: Временные файлы при upload?
Отправлено: Chs от 03 Ноября 2003, 10:47:29
Это не глюк - временные файлы создаются в любом случае, либо в директории скрипта, либо во временной директории (смотреть CGI на предмет алгоритма создания временных файлов).
Название: Временные файлы при upload?
Отправлено: Phoinix от 03 Ноября 2003, 11:57:02
Chs
Это все понятно, но почему они не удаляются, вот в чем вопрос... их потихоньку собирается n-ное количество, а так как они размерами такие же как картинки, то, соответственно, будут забивать место на хосте...
Название: Временные файлы при upload?
Отправлено: Raptus Melanholicus от 06 Ноября 2003, 10:30:42
Попробуй запретить запись в папку скрипта.
Название: Временные файлы при upload?
Отправлено: Wyclef от 06 Ноября 2003, 11:10:28
В unix\'е cron чистит temp\'ы
Название: Временные файлы при upload?
Отправлено: Phoinix от 06 Ноября 2003, 11:10:37
Raptus Melanholicus
Ммм... а интересно, как это сделать в Win2K?
Название: Временные файлы при upload?
Отправлено: NeoNox от 06 Ноября 2003, 11:32:39
Цитировать
Raptus Melanholicus:
Попробуй запретить запись в папку скрипта.

Ты хоть сам то понял что написал?
Phoinix если у тебя будет скриптна виндовом сервере жить - то либо пиши в скрипте что-бы он подчищал за собой либо в автозагрузку поместить скрипт очистки /tmp.
Если в *nix, то Wyclef тебе ответил.
Название: Временные файлы при upload?
Отправлено: Phoinix от 06 Ноября 2003, 13:00:03
NeoNox Chs Wyclef

Всем спасибо... проверил на линухе, темпов не остается, похоже что-то у меня с машиной все-таки...
Название: Временные файлы при upload?
Отправлено: Mog. от 06 Ноября 2003, 19:07:24
Цитировать
Chs:
смотреть CGI на предмет алгоритма создания временных файлов
А у меня старенький Апач под виндой этим грешил (закачивал без модуля CGI). Причем создавались во временной папке файлы с именами 1.jpg, 2.jpg и т.д. И после отработки скрипта не удалялись :(  Сменил Апач на более новый - все ништяк.
Название: Временные файлы при upload?
Отправлено: Phoinix от 06 Ноября 2003, 19:15:12
Mog.
Так вроде и apache последний, и модуль CGI, ну Perl не самый последний (но и не первый)... просто временные файлы только на моей машине остаются, на сервере и на других компах юзал, все, как говорится, ништяк...
Название: Временные файлы при upload?
Отправлено: Mog. от 06 Ноября 2003, 19:29:30
Цитировать
Phoinix:
apache последний
Тут ты пожалуй загнул. Кстати, ты не думал над тем, почему столько версий уже вышло (ну хотя бы того же Апача), а вот табуретки все такие же, на четырех ногах. :)
Название: Временные файлы при upload?
Отправлено: Phoinix от 06 Ноября 2003, 20:17:34
Mog.
Подумал - понравилось, решил подумать ще раз...
и правда 29 версия вышла... просчелкал, однако...
Да фиг с ними с этими темпами, я же говорю, они почему-то только у меня на компе появляются, это не страшно, удалаются, со свистом...
Название: Временные файлы при upload?
Отправлено: Mog. от 07 Ноября 2003, 09:09:12
Я вообще не о абсолютном количестве. Я про то, что они появляются, а значит в предыдущих находят нечто требующее доработки или чегото не находят вообще. Хотя это слегка и мимо темы.