Программирование > Perl
Название файла из директории!!!!!!!!!!!
:
Есть скрипт В.открыток, и я решил зарядить туда форму для Pick-up
Которая находится выше, но не знаю как!!!
При отправлении открытки, скрипт создает файл в директории
$cards_directory (например /usr/bin/postcards в конфиге), где имя файла должно быть что-то вроде этого $FORM{\'getcards\'}$cardext
(в конфиге $cardext=".html" $FORM{\'getcards\'} - это некое число генерируемое скриптом). Так вот я хочу, что пользователь вводил в pick-up форму это число и скрипт редиректил его на страницу в указанной директории, с проверкой на существующий файл
Пример,
Создалась у меня открытка в каталоге $cards_directory
С именем файла 53475484.html
($FORM{\'getcards\'} - 53475484 a $cardext - .html т.е получаем
$FORM{\'getcards\'}$cardext)
В форме ввожу число 53475484,
Это число подставляется $FORM{\'getcards\'} и проверяется наличие файла $FORM{\'getcards\'}$cardext) в директории $cards_directory
Если файл обнаружен, то перенаправляем пользователя на указанный ХТМЛ
Если же нет то пишем Сообщение об Ошибке
lodevar:
#!/usr/bin/perl
print "Content-type: text/html
";
$extension=".html";
$catalog="new";
@params=split(/&/,$ENV{\'QUERY_STRING\'}); #берет коммандную строку
foreach (@params)
{
($key,$val)=split(/=/,$_); # переписываем все параметры
$param{$key}=$val; # в хэш
}
$nomer = $param{\'getcards\'}; # берем введенный номер
$name=$nomer.$extension;
opendir (IDIR,$catalog);
$found=0;
while(defined($file=readdir(IDIR))) #перебираем весь каталог (не очень полезная затея)
{
if($file==$name) # если нашли, то
{
$found=1; # делаем вот так
closedir(IDIR); # закрываем каталог
}
}
if($found) # и проверяем - нашли или не нашли
{
print "Ура! Нашли файлик!";
}
else
{
print "Ну нет такого файла!";
}
#А вообще-то - храни ссылки на файлы в твоем каталоге в каком нибудь файле (на худой конец), а
в лучшем случае в базе (типа mySQL). :-)
:
Большое Спасибо Lodevar!!!
Сейчас буду пробовать!
Навигация
Перейти к полной версии