Вопрос № 37156: Здравствуйте.
Есть функция для проверки существования адресса url и/или странички:
function query_url200($url){
if( fopen( $url, 'r'))
return true;
else
return false;
}
Дело в том что на старом сервере она вс...
Вопрос № 37.156
Здравствуйте.
Есть функция для проверки существования адресса url и/или странички:
Дело в том что на старом сервере она все работала, когда же я поменял сервер на более свежую возникла проблема:
функция fopen(url) вызывала зависание сервера apache
версия сервера ДЕНВЕР-2 2005-01-26, P4.3.10, M4.1.8
С лакальными файлами вроде проблем нет
В чем проблема.
Кто как проверяет существует или нет url и страница в инете?
Отвечает: Straight
Здравствуйте, Оськин Дмитрий Владимирович!
Честно скажу, такой проверки явно недостаточно чтобы сказать существует по этому адресу страница или нет. Надо еще ответ сервера проверять, ибо там может быть и 404, и 301, и 302 и прочее.
Действительно, на многих хостингах такое не срабатывает, поскольку удаленное открытие файлов запрещено. Попробуйте обратиться по сокету (протокол HTTP придется реализовывать вручную, но он простой). Если же и сокеты запрещены, то вряд ли что удастся сделать.
Ответ отправил: Straight (статус: 10-ый класс)
Ответ отправлен: 10.03.2006, 09:44
Отвечает: КиберТварь
Здравствуйте, Оськин Дмитрий Владимирович!
проверка на подлинность УРЛ-а осуществляется по другому
из за того что некоторые хостинги отключают allow_url_fopen
нужно подконнектится к серверу через fsockopen
а дальше послать запрос на на сервер
если получите 200 значит все ОК
403 доступ закрыт
404 файл не найден
500 внутренняя ошибка сервера и т д
Ответ отправил: КиберТварь (статус: Практикант)
Ответ отправлен: 10.03.2006, 20:02
Отвечает: SKC
Здравствуйте, Оськин Дмитрий Владимирович!
Создайте в корневой папке вашего сайта (www) файл .htaccess в который впишите следущую строку:
php_value error_reporting 7
--------- go go go
Ответ отправил: SKC (статус: 2-ой класс)
Ответ отправлен: 10.03.2006, 22:07