Автор Тема: Чтение директории  (Прочитано 3658 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Mictian

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.mworxdesign.com
Чтение директории
« : 07 Апреля 2003, 17:45:03 »
Подскажите, как лучше сделать. Задача открыть каталог, в котором дочертиков картинок формата xxx.jpg bxxx.jpg, где xxx числа. нужно вставить на страничку все картинки типа xxx.jpg, и сделать с них ссылки на bxxx.jpg.

Больше всего меня интересует хранение картинок в хэше? как реализовать? если в массиве.... в общем подскажите :)

Оффлайн NCRangeR

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 42
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.mephix.h1.ru
Чтение директории
« Ответ #1 : 08 Апреля 2003, 06:17:52 »
если наличие соответствующей пары bxxx - xxx гарантировано, то как-то так:

opendir DIR, $DirName;
@pics=readdir(DIR);
closedir DIR;
foreach (@pics)
{
print ""
if (/^[0-9]{3}\\.jpg$/);
};
- How does the CPAN work?
 - With dark magic, evil-looking sacrificial knives and scantily clad virgins under pale moonlight.

Оффлайн Mictian

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.mworxdesign.com
Чтение директории
« Ответ #2 : 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

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Чтение директории
« Ответ #3 : 08 Апреля 2003, 14:33:47 »
Mictian
Ты хочешь _одним_ скриптом вывести много картинок?
Не получится, браузер делает отдельный запрос на получение _каждой_ картинки.
Да и как он, по-твоему, должен понять, где  кончилась одна картинка, где началась другая, а где идет HTML, если ты в бинарной моде это все подряд валишь?
•••Jah\'d never let us down!•••

Оффлайн Mictian

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.mworxdesign.com
Чтение директории
« Ответ #4 : 08 Апреля 2003, 14:46:00 »
Дык, вот я и спрашиваю, как сделать вывод картинок НЕ из рутовой папки, не показываю при этом пользователю пути...

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Чтение директории
« Ответ #5 : 08 Апреля 2003, 16:37:08 »
Цитировать
Mictian:
как сделать вывод картинок НЕ из рутовой папки, не показываю при этом пользователю пути...

Написать отдельный скрипт для вывода картинок или в зависимости от параметра отдавать картинки или страничку.
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Mictian

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.mworxdesign.com
Чтение директории
« Ответ #6 : 08 Апреля 2003, 16:54:47 »
К примеру? мне ничего в голову не приходит...

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Чтение директории
« Ответ #7 : 08 Апреля 2003, 17:56:19 »
Например, одним скриптом выдаешь HTML:



а скрипт gimg ищет по id картинку и выдает ее браузеру.
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Mictian

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.mworxdesign.com
Чтение директории
« Ответ #8 : 09 Апреля 2003, 15:05:11 »
Всем спасибо, сделал :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28