Народ, подскажите плиз функцию или способ как можно проверить существование url..
Например, мой скрипт находится по адресу http://phpscripts.ru/script.php, ему передаётся параметр типа 'http://domain.ru/index.php?dir=23&fak=3', и вот нужно проверить существует ли такая страница, либо нет(код 404 или другой).
1. AlexGreF - 27 Мая, 2009 - 20:18:51 - перейти к сообщению
2. vitaliy_mad - 27 Мая, 2009 - 20:20:16 - перейти к сообщению
3. AlexGreF - 27 Мая, 2009 - 20:34:47 - перейти к сообщению
vitaliy_mad пишет:
http://forum.php.su/topic.php?forum=62&topic=31
Такой способ я прекрасно знаю, но я думал может есть что попроще, какая-нибудь одна функция, которая бы проверяла url..
4. valenok - 27 Мая, 2009 - 20:55:20 - перейти к сообщению
Проверять url нужно тогда двумя этапами..
Во первых это проверить что домен куда то ведет (наличие A record ) и наличие сервера который обрабатывает эти запросы (хотя проще уже сразу отправить запрос к нужному url, чем проверять эти записи). Во вторых это проверить что на твой запрос сервер не возвращает ошибке 404
Во первых это проверить что домен куда то ведет (наличие A record ) и наличие сервера который обрабатывает эти запросы (хотя проще уже сразу отправить запрос к нужному url, чем проверять эти записи). Во вторых это проверить что на твой запрос сервер не возвращает ошибке 404
5. AlexGreF - 28 Мая, 2009 - 11:04:40 - перейти к сообщению
Вот нашёл функцию для проверки валидности url:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- function check_url($url) {
- if (!$urlArray[port]) $urlArray[port] = '80';
- if (!$urlArray[path]) $urlArray[path] = '/';
- if (!$sock) $res = 'DNS';
- else {
- $dump .= "GET $urlArray[path] HTTP/1.1\r\n";
- $dump .= "Host: $urlArray[host]\r\nConnection: close\r\n";
- $dump .= "Connection: close\r\n\r\n";
- ([0-9]{3})
- [a-z ]*', "\\1", $str));
- "",
- $str));
- }
- return $res[code];
- }
- } else $res = "N/A";
- return $res;
- }
- ?>