Forum Webscript.Ru

Программирование => Perl => Тема начата: Hatchet от 10 Декабря 2003, 21:37:37

Название: Время жизни???
Отправлено: Hatchet от 10 Декабря 2003, 21:37:37
Интересно, а есть ли возможность создавать файлы с ограничение по времени жизни... ну типа файл существует 1 час и уничтожается???

Наверное придется ручками удалять...

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

Но часто, люди просто посмотрят на страничку и уходят сос страницы - а файлики то остаются ...

Или как то сделать так, что при закрытии страницы или шага назад скрипт сам тер эти файлы.
Название: Время жизни???
Отправлено: Chs от 10 Декабря 2003, 23:12:25
Удалить файл сразу после отдачи клиенту, а случайную цифру передать в форму в поле хидден зашифрованную например по crypt.
Название: Время жизни???
Отправлено: FANTAzeRus от 11 Декабря 2003, 08:14:08
А я бы написал отдельный скрипт Генерящий Картинку на лету, и вобще ни о каких файлах бы не думал!
Название: Время жизни???
Отправлено: Glader от 01 Января 2004, 19:19:51
И посыпался бы у тебя сервак под наплывом юзеров... :)
Название: Время жизни???
Отправлено: Hatchet от 10 Января 2004, 18:15:43
Если удалять файл после показа - то сначало надо убедиться что его увидели.
По крайней мере если писать
print "";
print "В нижеследующее поле введите номер, который Вы видите на картинке.";
print "";
print "Номер";

unlink ("$datadir/$id.jpg") or die;

то картинки не видно!
Название: Время жизни???
Отправлено: КшЫуфксрук от 10 Января 2004, 20:47:12
С вероятностью 0.01 (или другой) вызывать функцию, которая просмотрит каталог с картинками и удалит старые.
Название: Время жизни???
Отправлено: restart2003 от 27 Января 2004, 01:45:13
Hatchet
Альтернатива-генерить картинку Image::Magick на лету. Сервер отнюдь не посыпется, насколько я знаю, огромное кол-во крупных серверов используют такой вариант.
Цитировать
Chs:
Удалить файл сразу после отдачи клиенту, а случайную цифру передать в форму в поле хидден зашифрованную например по crypt.

Или создать сессию и в хиддене передать её ID.