Программирование > Perl
Название файла из директории!!!!!!!!!!!
:
Подскажите, пожалуйста правильный синтекс и всего остального этого сабжа:
Есть форма для отправки ID(В виде цифр), причем в зависимости от ID перенаправляет на нужную страницу
$cards_url/$cardnumber$cardext
HTML:
Кусок Перл-скрипта:
sub get_card {
opendir (IDIR, $cards_directory);
@files = IDIR;
$file = "$FORM{\'getcards\'}$cardext";
foreach $files (@files) {
if (($file = @files) & ($FORM{\'getcards\'} ne "")){
$cardnumber = $FORM{\'getcards\'};
print "Location: $cards_url/$cardnumber$cardext
";
}
else {print &Error(\'Такого ID-номера Не существует, или, просто, он не введен!\'); exit; }
}
closedir (IDIR);
}
Нужно, чтобы скрипт проверил на наличие файла
$FORM{\'getcards\'}$cardext в директории $cards_directory, где
$FORM{\'getcards\'} - любое число выводимое из формы
$cardext - .html
$cards_directory - c:/что-угодно/postcards
Я еще ЧАЙНИК в это деле, так что сильно не судите....
AliMamed:
что то типа того
if ( open(FILE, \'путь_и_имя_файла\') ){
print "нашел файл!";
close(FILE);
}else{
print "не нашел";
}
lodevar:
>>opendir (IDIR, $cards_directory);
Откуда берешь $cards_directory?
>>@files = IDIR;
>>$file = "$FORM{\'getcards\'}$cardext";
А это что за $cardext ?
>>if (($file = @files) & ($FORM{\'getcards\'} ne "")){
А что значит $file = @files ? Может имеешь ввиду $file = $files ?
>>$cardnumber = $FORM{\'getcards\'};
Ты вроде это значение уже брал. Или я что-то не понимаю???
>>print "Location: $cards_url/$cardnumber$cardext
";
>>}
>>else {print &Error(\'Такого ID-номера Не существует, или, просто, он не введен!\'); exit; }
>>}
>>closedir (IDIR);
Закрывать IDIR нужно до возможного exit\'а. Ну это просто так, для порядку.
:
$cardext - это расширение файла НАПРИМЕР, .html с точкой впереди
lodevar:
Ты бы конкретно обрисовал бы задачку. А то не понятно, откуда берутся у тебя эти переменные...
И почему тебе не нравится, например @params=split(/&/,$ENV{\'QUERY_STRING\'})
а такая любовь к $FORM{...} ?
Навигация
Перейти к полной версии