Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2012
Откуда: Москва
Помог: 0 раз(а)
|
В общем возникла необходимость проверять на существование "стоп" файла для парсера.
Собсно код:
PHP:
скопировать код в буфер обмена
<?PHP if(isset($_SERVER['HTTP_HOST'])) die('You can run this script only in the CMD prompt'); 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4', 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3', ); function out ($str = '') { echo date('d.m.Y - H:i:s').': '.$str.chr(13 ).chr(10 ); } out('starting...'); $p = 0; $f2 = 0; for($i = 1; $i < 79000; $i++) { { } if(intval($i / 790 ) != $p || $f2 == 0 ) { out($p.'%'); $f2 = 1; } { out('event - stop from file!'); out('this script will continue, after you remove the stop file'); out('5 sec sleeping!'); while(true) { out('sleep'); } } $ch = curl_init('http://eu.battle.net/wow/ru/item/'.$i.'/tooltip'); if($code == 200) { out('item '.$i); $t = fopen('data/'.$i.'.txt', 'w'); } } ?>
Эта:
часть, работает не так, как хотелось бы.
Создайте рядом со скриптом пустой файл "stop", запустите скрипт, подождите пару секунд и удалите файл. Казалось бы, if(!is_file('stop')) break; завершит цикл и парсер будет дальше парсить данные. Но нет, ему кажется, что файл существует, хотя функции на считывания работают нормально, т.е. выводят ошибку, что файл не существует. Можно и с помощью них обойтись, но хотелось бы услышать мнение форумчан.
пс. Если как то поможет, php 5.3.8, запускаю из консоли(Отредактировано автором: 10 Января, 2012 - 17:21:43)
|