Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос про функцию fopen (в PHP)

420
10 мая 2007 года
Fobos
197 / / 10.03.2006
В общем пишу скрипт проверки беков (обратных ссылок).
Точнее уже написал :)
Всё вроди работает, но вот охота производительнее сделать его.
Сейчас в каталоге около 6000 ссылок. Судя по данным Яндекса, обратных ссылок примерно 1400. Несоответствие маленькое :)

Вот запустил скрипт проверки сегодня. За минут 15 нашел 144 сайта и забанил их. По скорости это нормально или нет???

И вот я стал замечать, что основное время тратится на "тормоза" при открытии несуществующих страниц (ошибка 404).

Можно ли их как-то избежать?

Сейчас существование страницы я проверяю функцией fopen.

Вот код:
 
Код:
$file = fopen($links["back_url"],"r");
if(!$file)
   {
      //Сайт в баню :)
   }
   else
   {
      //Проверяем наличие кода, и если его нет, то в баню...
   }


Может как-то быстрее и лучше можно существование страницы проверять?
12
11 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos

Вот запустил скрипт проверки сегодня. За минут 15 нашел 144 сайта и забанил их. По скорости это нормально или нет???


5 это много или мало? ;)
Просто тут много слишком факторов от которых это зависит, однако ~10 сайтов в минуту разве так уж плохо? Хотя твой вариант я не очень одобряю в такой постановке. Не разумнее ли будет просто делать частичные запросы? Например заголовком If-Modified определять, изменилась ли страница с последнего посещения?

4
11 мая 2007 года
mike
3.7K / / 01.10.2002
404 страницы должны открываться также быстро как и любые другие. А вот есть хост не доступен, то тогда да.

Хочешь сделать быстрее - пускай скачивание страниц в несколько потоков.

Если fopen тормозит с 404 страницами, используй fsockopen
256
11 мая 2007 года
foxweb
1.0K / / 27.07.2005
страницы с кодом ответа 404 первой строкой передают:

HTTP/1.1 404 Not Found

Всё! после этого можно сразу закрывать сокет и не тратить время.
Также поступаем и с другими ошибками 4xx.
420
11 мая 2007 года
Fobos
197 / / 10.03.2006
Хорошо, понял.
Буду эксперементировать.
Спасибо всем за ответы!!! ;)
420
11 мая 2007 года
Fobos
197 / / 10.03.2006
Блин, действительно я не прав был про ошибку 404. Перепутал.
Действительно, когда сервер не доступен тогда и тормоза. Ведь при ошибке 404 функция fopen не будет возвращать пустой результат, поидее, а будет страничку с этой ошибкой в переменную загонять (в моём примере).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог