Как определить является ли урл папкой или документом по HTTP

jeka!

Просто Member
Как определить является ли урл папкой или документом по HTTP

Имеется например урл: http://test.ru/test
если он записан как: http://test.ru/test/ то проблем нет, понятно что это папка, а если просто /test то это может быть и обычный документ или даже картинка.

Если приконектиться через Curl, то он каким-то образом определяет тип, и выдаёт правильный путь:

PHP:
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,"http://test.ru/test");
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_NOBODY,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_TIMEOUT,60);
$body=curl_exec($ch);
$info=curl_getinfo($ch);
curl_close($ch);

print_r($info);
Выдаст:

Array
(
=> [url]http://test.ru/test/
[content_type] => text/html
[http_code] => 200
[header_size] => 396
...
)
А мне надо определить это при обычном коннекте через сокиты [fsockopen()]

Есть какое нето решение этой задачи?
 

Demiurg

Guest
А чем отличается папка от документа ?
http - это не файловая система.
 

kvn

programmer
м...
типа законнектиться, послать запрос HEAD,
считать заголовки и по ним все станет видно...
ы?
 

kvn

programmer
Тебе правильно ответил Demiurg.

Папка - это такой же html документ, и тип у него text/html (по умолчанию).


Если приконектиться через Curl, то он каким-то образом определяет тип, и выдаёт правильный путь:
дык тебе нужен _тип_ отдаваемого сервером документа или все же каталок/папка?
если 1-е - смотри мой ответ.
если 2-е - то твой пример с курлом этого не делает...
или, возможно, не понятно чего хочет автор темы...
 

ys

отодвинутый новичок
>или, возможно, не понятно чего хочет автор темы...

Наверно.

Иногда правда бывает непонятно ставить слешь в конце URI
или не ставить, но если сайт с которого забирается какая то информация написан и настроен не криворукими программерами - то такой проблемы принципиально не существует.
 

jeka!

Просто Member
Суть в том, что надо правильно сконвертировать новые ссылки.
Вот пример:
Скачиваю например страницу http://test.ru/path
Нахожу на ней ссылки на другие документы, ну скажем попадётся ссылка ?action=ok
Так вот, если теперь сделать правильный урл, то получится:
http://test.ru/path?action=ok
вместо:
http://test.ru/path/?action=ok
Но на самом деле, path это же папка...

Я уже в принципе решил проблему, если обратиться к папке без завершающего слеша, то сервак выдаёт ошибку 301 и location на правиотный путь со слешем.
 
Сверху