Хм.. А можно ли проверить сайт на существование? Не домен..а так сказать страницу. Вот допустим как узнать что http://a.wen.ru или http://a.ru не существует?
06 Янв 2011, 13:01aBSuRD, if(file_get_contents('http://a.wen') == true){
echo 'Страница доступна';
}
aBSuRD, думаю можно получить курлом заголовок страницы и если статус > 400 то станица не найдена
как то так вероятно:
$cu = curl_init();
curl_setopt($cu, CURLOPT_URL, 'http://'.$link);
curl_setopt($cu, CURLOPT_TIMEOUT, 10); // скока секунд ждать ответа 10 наверно даже многовато
curl_setopt($cu, CURLOPT_HEADER, 1); // читать заголовок
curl_setopt($cu, CURLOPT_NOBODY, 1); // читать ТОЛЬКО заголовок без тела
curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cu, CURLOPT_FRESH_CONNECT, 1); // не использовать cache
if (!curl_exec($cu)){
//недоступен сайт
print 'Сайт недоступен.';
} else{
$httpcode = curl_getinfo($cu, CURLINFO_HTTP_CODE);
if ($httpcode > 400){
//сайт доступен но вернул ощибку
print 'Сайт возвратил ошибку ('.$httpcode.').';
}
}
aBSuRD, с помощью функции get_headers() получи заголовки и с 0 элемента массива вырежы код ответа сервера. http://www.nbuv.gov.ua/libdoc/codes.htm
06 Янв 2011, 14:05Fashion, ну как бы согласен..
тока вот на php4 его вроде не было..
кстати не нашел в описании возможно ли в get_headers() установить скока времени он будет ждать ответа, например 3 секунды..
или что произойдет если ответ не будет получен долго?
wappartizan, на счет таймаута точно незнаю, но есть функции управления отправляемых заголовков. может там и можно задать лимит
06 Янв 2011, 14:19Есть ли подробное описание регулярных выражений? Чтобы все было понятно, как мaнyaл.
06 Янв 2011, 14:27wappartizan, забудь про пхп 4.
<?php
$MicroTime = microtime(1);
var_dump(get_headers('http://dagdajgngmgmgmggdajpdmgp.com', 1));
echo '<br/>'.round(microtime(1) - $MicroTime, 4).' sec';
Затестите)) куйня времени.
если get_headers($url) === false, то домена нет.