вопрос по скрипту

  • Автор темы xab
  • Дата начала
X
#1
есть скрипт, который перебором от x до y
проверяет, существует ли файл на удаленном сервере
если нет - выдает прочерк, если есть - выдает номер файла

Код:
<?php

$x = $_POST['x'];
$y = $_POST['y'];
while ($x<$y+1)
{
$file= "http://lalala.ru/$x.gif";
$file_headers = @get_headers($file);
if($file_headers[0] == "HTTP/1.1 404 Not Found")
{
print '_'.'<br>';
}
else {
print $x;
}
$x++;
}
?>
скрипт при переборе от 0 до 5000 работает долго 20 минут
раньше все было норм, отрабатывал 20 мин и выдавал результат
но админы поменяли время максимального выполнения скрипта или что-то еще
вобщем скрипт работает 4 минуты, потом ошибка 504 Gateway Timeout
(за 4 минуты скрипт делает 1000 запросов)
собственно вопрос, как можно забить перебор от 0 до 100.000 допустим, и чтобы небыло ошибки 504

может как-то через AJAX отдельными запросами перебирать? чтобы время выполнения скрипта было минимально

спасибо)
 

acorn

PHP Developer
29.08.2004
585
3
#2
сделай Ajax, который последовательно (с интервалом) выполняет алгоритм для "пачек" файлов, а потом отображает результат.
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#3
А можно просто вызывать скрипту рекурсивно самому себя, каждые, скажем 1000 файлов, передавая гетом, с какого файла начать.

А еще можно попробовать ini_set() поставить время выполнения побольше.