Forum Webscript.Ru

Программирование => Perl => Тема начата: YT от 05 Декабря 2001, 08:23:10

Название: Это файл или директория?
Отправлено: YT от 05 Декабря 2001, 08:23:10
Привет всем!

Есть линк вида "http://abc.ru/def/ghij/klm".

Сервер успешно возвращает документ.
В большинстве случаев "klm" - это имя директории, а Apache возвращает файл "по умолчанию" из этой директории.
Но "klm" также может быть именем файла (без расширения) в директории "def". Как это можно проверить в каждом конкретном случае (из Perl)?
Название: Это файл или директория?
Отправлено: Haze от 05 Декабря 2001, 13:04:34
if (-d $file) {}
Название: Это файл или директория?
Отправлено: от 05 Декабря 2001, 13:11:10
Речь идет об удаленном сервере. Прямого доступа к файлам нет, только http.
Название: Это файл или директория?
Отправлено: от 06 Декабря 2001, 10:45:39
Неужели никто не знает? :(
Название: Это файл или директория?
Отправлено: NeoNox от 06 Декабря 2001, 12:49:42
Цитировать
Неужели никто не знает?

а если слеш вконце поставить?
вот так http://abc.ru/def/ghij/klm/
тогда klm файлом не будет...
Название: Это файл или директория?
Отправлено: от 07 Декабря 2001, 13:53:48
Если я правильно Вас понял, Вы предлагаете ставить слеш во всех спорных случаях и проверять вернет ли что-нибудь сервер на такой запрос. Если нет, то считать файлом.

Это, конечно, выход. Спасибо!

Только вот очень долго каждый раз для этого запрашивать весь файл ("use LWP::Simple; get $uri;"), а "use LWP::Simple; head $uri;" иногда возвращает undef для существующего файла :( . Может подскажете белее быстрый/надежный модуль/метод. Еще раз, спасибо!