Forum Webscript.Ru

Программирование => Perl => Тема начата: Mictian от 07 Апреля 2003, 17:45:03

Название: Чтение директории
Отправлено: Mictian от 07 Апреля 2003, 17:45:03
Подскажите, как лучше сделать. Задача открыть каталог, в котором дочертиков картинок формата xxx.jpg bxxx.jpg, где xxx числа. нужно вставить на страничку все картинки типа xxx.jpg, и сделать с них ссылки на bxxx.jpg.

Больше всего меня интересует хранение картинок в хэше? как реализовать? если в массиве.... в общем подскажите :)
Название: Чтение директории
Отправлено: NCRangeR от 08 Апреля 2003, 06:17:52
если наличие соответствующей пары bxxx - xxx гарантировано, то как-то так:

opendir DIR, $DirName;
@pics=readdir(DIR);
closedir DIR;
foreach (@pics)
{
print ""
if (/^[0-9]{3}\\.jpg$/);
};
Название: Чтение директории
Отправлено: Mictian от 08 Апреля 2003, 14:19:42
Возникла проблема :) картинки находятся ЗА htmlroot, поэтому приходится делать следующее:
opendir(DIR, "$ENV{DOCUMENT_ROOT}/../files/img/$sel") || die "$!";
@pic=grep{!/\\A\\.\\.?\\z/} readdir(DIR);
closedir(DIR);

foreach (@pic){
if (/^[0-9]{3,5}\\.jpg$/){
open(JPG, "$ENV{DOCUMENT_ROOT}/../files/img/$sel/$_") || die "$!";
binmode(JPG); binmode(STDOUT);
while(read(JPG, $buff, 8*2**10)){
print STDOUT $buff;
}
}
}


но на страницу выходит только одна картинка, про хтмл я вообще молчу :(
Название: Чтение директории
Отправлено: Xander от 08 Апреля 2003, 14:33:47
Mictian
Ты хочешь _одним_ скриптом вывести много картинок?
Не получится, браузер делает отдельный запрос на получение _каждой_ картинки.
Да и как он, по-твоему, должен понять, где  кончилась одна картинка, где началась другая, а где идет HTML, если ты в бинарной моде это все подряд валишь?
Название: Чтение директории
Отправлено: Mictian от 08 Апреля 2003, 14:46:00
Дык, вот я и спрашиваю, как сделать вывод картинок НЕ из рутовой папки, не показываю при этом пользователю пути...
Название: Чтение директории
Отправлено: mike от 08 Апреля 2003, 16:37:08
Цитировать
Mictian:
как сделать вывод картинок НЕ из рутовой папки, не показываю при этом пользователю пути...

Написать отдельный скрипт для вывода картинок или в зависимости от параметра отдавать картинки или страничку.
Название: Чтение директории
Отправлено: Mictian от 08 Апреля 2003, 16:54:47
К примеру? мне ничего в голову не приходит...
Название: Чтение директории
Отправлено: mike от 08 Апреля 2003, 17:56:19
Например, одним скриптом выдаешь HTML:



а скрипт gimg ищет по id картинку и выдает ее браузеру.
Название: Чтение директории
Отправлено: Mictian от 09 Апреля 2003, 15:05:11
Всем спасибо, сделал :)