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

Тема в разделе "PHP программирование", создана пользователем xab, 12 мар 2011.

  1. xab

    xab Гость

    есть скрипт, который перебором от x до y
    проверяет, существует ли файл на удаленном сервере
    если нет - выдает прочерк, если есть - выдает номер файла

    Код (Text):
    <?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 отдельными запросами перебирать? чтобы время выполнения скрипта было минимально

    спасибо)
     
  2. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    сделай Ajax, который последовательно (с интервалом) выполняет алгоритм для "пачек" файлов, а потом отображает результат.
     
  3. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    А можно просто вызывать скрипту рекурсивно самому себя, каждые, скажем 1000 файлов, передавая гетом, с какого файла начать.

    А еще можно попробовать ini_set() поставить время выполнения побольше.
     
Загрузка...
Похожие Темы - вопрос по скрипту
  1. bobo
    Ответов:
    2
    Просмотров:
    2.099
  2. ApplePen
    Ответов:
    0
    Просмотров:
    53
  3. gURaBA_N
    Ответов:
    3
    Просмотров:
    90
  4. kartaman
    Ответов:
    0
    Просмотров:
    125
  5. Peter
    Ответов:
    4
    Просмотров:
    517

Поделиться этой страницей