Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?PHP
- //-----------------------------------------------------------------
- // status object
- //-----------------------------------------------------------------
- class StatusParse {
- const LOGFILE='../parser.txt';
- const PARSED='../parsed.txt';
- public $logfile; // файл трассировки
- public $resfile; // файл результатов парсинга
- protected $logging; // трассировка включена
- protected $f_handle;
- public $regarr=Array(); // массив регулярных выражений для разбора сайта
- public $base_url; // стартовый url
- public $formatstring; // строка для форматирования результатов
- public $formatted; //форматировать результаты парсинга на выходе
- public $json_format; //возвращать результаты парсинга в формате json
- public $show_query;
- public $initquery;
- public $step=0; // шаг трассировки
- public $n_redirects=0; // количество произведенных редиректов страницы
- public $urls=Array(); // список найденных адресов страниц
- public $elems=Array(); // список найденных элементов
- //-----------------------------
- function __construct($logging=false) {
- //-------------------установка флага включения трассировки
- $this->logging=$logging;
- //--------------------указываем имя файла трассировки
- $p=strrpos(StatusParse::LOGFILE,'/');
- $zfile=substr(StatusParse::LOGFILE,$p+1);
- $zdir=substr(StatusParse::LOGFILE,0,$p+1);
- $zz=explode('.',$zfile);
- $this->logfile=StatusParse::LOGFILE;
- //----------указываем имя файла, в который будут складываться результаты парсинга
- $p=strrpos(StatusParse::PARSED,'/');
- $zfile=substr(StatusParse::PARSED,$p+1);
- $zdir=substr(StatusParse::PARSED,0,$p+1);
- $zz=explode('.',$zfile);
- $this->resfile=$zdir.array_shift($zz).'_'.
- date('dmYHis').rand(200,8000).'.'.array_shift($zz);
- $fhandle=fopen($this->resfile,'wb');
- fclose($fhandle);
- }
- //-----------------------------запись строки в файл трассировки
- public function logt($instr) {
- if (!$this->logging) return;
- if (file_exists($this->logfile))
- $this->f_handle=fopen($this->logfile,'ab');
- else
- $this->f_handle=fopen($this->logfile,'wb');
- fwrite($this->f_handle,date('d.m.Y H:i:s').' '.$instr."\r\n");
- fclose($this->f_handle);
- }
- //-----------------------------запись строки в файл результатов парсинга
- public function log_res($instr) {
- $fhandle=fopen($this->resfile,'ab');
- fwrite($fhandle,$instr."\r\n");
- fclose($fhandle);
- }
- //-----------------------------
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement