The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"имена файлов"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"имена файлов" 
Сообщение от pheonix Искать по авторуВ закладки(ok) on 26-Апр-05, 15:58  (MSK)
есть список файлов в таком формате XXXXX, где X-цифра + есть ещё список названий файлов, другими словами
00001|word.doc
00002|arj.bz2
XXXXX|text.txt

как сделать так что бы они выкачивались вот таким методом
exp: http://127.0.0.1/cgi-bin/download.pl?file=00001
+ к этому нужно чтобы когда выпрягивало окошко для сохранения файлов в имени файлов писалось не 00001 и т.п. а его настоящее имя, которое берёться из другого списка?
выталкиваю через скрипт я так
print redirect(-uri => $filename);
#$filename - полный путь к файлу, напрмер /home/0001

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "имена файлов" 
Сообщение от PoizOn emailИскать по авторуВ закладки(ok) on 27-Апр-05, 14:55  (MSK)
>есть список файлов в таком формате XXXXX, где X-цифра + есть ещё
>список названий файлов, другими словами
>00001|word.doc
>00002|arj.bz2
>XXXXX|text.txt
>
>как сделать так что бы они выкачивались вот таким методом
>exp: http://127.0.0.1/cgi-bin/download.pl?file=00001
>+ к этому нужно чтобы когда выпрягивало окошко для сохранения файлов в
>имени файлов писалось не 00001 и т.п. а его настоящее имя,
>которое берёться из другого списка?
>выталкиваю через скрипт я так
>print redirect(-uri => $filename);
>#$filename - полный путь к файлу, напрмер /home/0001
Все зависит от того - фиксированный у вас список файлов или случайный. Если фиксированный (типа антилич) - то хэш:

%Files=(
        '00001'=>'00001|word.doc',
        ....,
        );
А при запросе использовать его так:
my $file=param('file');
if(exists $Files{$file}) {
print redirect(-uri=>$Files{$file});
} else {
print header();
print "File not found\n";
}

Если не фиксированный, то забирайте список файлов в хэш (как и в предыдущем примере) через чтение каталога, в качестве ключей используйте только цифры отделяя их из имени файла например так:

$file=~s/[^0-9]+//;

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "имена файлов" 
Сообщение от pheonix Искать по авторуВ закладки(ok) on 28-Апр-05, 08:00  (MSK)
>Все зависит от того - фиксированный у вас список файлов или случайный.
>Если фиксированный (типа антилич) - то хэш:
>
>%Files=(
>        '00001'=>'00001|word.doc',
>        ....,
>        );
>А при запросе использовать его так:
>my $file=param('file');
>if(exists $Files{$file}) {
>print redirect(-uri=>$Files{$file});
>} else {
>print header();
>print "File not found\n";
>}
>
>Если не фиксированный, то забирайте список файлов в хэш (как и в
>предыдущем примере) через чтение каталога, в качестве ключей используйте только цифры
>отделяя их из имени файла например так:
>
>$file=~s/[^0-9]+//;


да нет как мне список файло в забирать я знаю, я говорю что у меня лежат файлы в каталоге с такими именами 000001 000002 000003 000004 XXXXXX и лежит есть список файл|text.txt на примера это так

в каталоге
000001
в файле
000001|text.txt

когда я делаю вот так
print redirect(-uri=>'000001'); то предлагает сохранить файл с таким именем "000001", это всё понятно, я спрашиваю как мне сделать так чтобы файлы у меня лежали в каталоге с именами XXXXXX, а когда выскакивало окошко для сохранения файлов, то имя файла в виде XXXXXX, заменялось на имя в списке, такое возможно или нет? если меня кто-то не поня, то скажите я ещё раз обьясню, что и как :D

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "имена файлов" 
Сообщение от PoizOn emailИскать по авторуВ закладки(ok) on 29-Апр-05, 10:25  (MSK)
>да нет как мне список файло в забирать я знаю, я говорю
>что у меня лежат файлы в каталоге с такими именами 000001
>000002 000003 000004 XXXXXX и лежит есть список файл|text.txt на примера
>это так
>
>в каталоге
>000001
>в файле
>000001|text.txt
>
>когда я делаю вот так
>print redirect(-uri=>'000001'); то предлагает сохранить файл с таким именем "000001", это всё понятно, я спрашиваю как мне сделать так чтобы файлы у меня лежали в каталоге с именами XXXXXX, а когда выскакивало окошко для сохранения файлов, то имя файла в виде XXXXXX, заменялось на имя в списке, такое возможно или нет? если меня кто-то не поня, то скажите я ещё раз обьясню, что и как :D

Да не понял я вас из-за того что вы странно обозначаете разделители каталогов. | !!. Наверно надо писать - 000001/text.txt ??. Правильно теперь я вас понял?


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру