コード例 #1
0
ファイル: Crowler.php プロジェクト: gstearmit/EshopVegeTable
 public static function feed_data($cmd, $dir_tmp_cache, $temps)
 {
     // cmd = insert_database
     if ($cmd == 'insert_database') {
         $dir = 'cache/temp_data.cache.php';
         if (file_exists($dir)) {
             require $dir;
             if (isset($items) and $items) {
                 foreach ($items as $key => $value) {
                     // Feed::debug($value);
                     $table = $value['table'];
                     if (!DB::fetch('select id from ' . $table . ' where name="' . str_replace('"', '\\"', $value['name']) . '"')) {
                         unset($value['table']);
                         DB::insert($table, $value);
                     }
                 }
                 @unlink($dir);
             }
         }
         header('Location:' . $_SERVER['REQUEST_URI']);
     } else {
         // Case lay du lieu
         if ($cmd == 'feed') {
             // Lấy tin
             $temps = implode(',', $temps);
             //require_once 'lib/simple_html_dom.php';
             //require_once 'lib/crawler.php';
             $_Feed = new Crowler();
             // return $_Feed;
             $sites = $_Feed->get_site('declaration.id in (' . $temps . ')');
             return $sites;
             if ($sites = $_Feed::get_site('declaration.id in (' . $temps . ')')) {
                 // Feed::debug($sites);
                 foreach ($sites as $key => $value) {
                     $check_page = strpos($value['url'], '*');
                     // strpos : tim kiem chuoi
                     if ($check_page === false) {
                         Feed::get_data($value, Feed::get_pattern($key));
                     } else {
                         if ($page_num = $value['page_num']) {
                             $check_page_num = strpos($page_num, '-');
                             if ($check_page_num === false) {
                                 $value['url'] = str_replace('*', $page_num, $value['url']);
                                 Feed::get_data($value, Feed::get_pattern($key));
                             } else {
                                 $arr_page = explode('-', $page_num);
                                 for ($i = $arr_page[1]; $i >= $arr_page[0]; $i--) {
                                     $site = $value;
                                     $site['url'] = str_replace('*', $i, $value['url']);
                                     Feed::get_data($site, Feed::get_pattern($key));
                                 }
                             }
                         } else {
                             $value['url'] = str_replace('*', '1', $value['url']);
                             Feed::get_data($value, Feed::get_pattern($key));
                         }
                     }
                 }
                 // Lưu tin đã lấy vào file cache
                 $path = 'cache/temp_data.cache.php';
                 $content = '<?php $items = ' . var_export(Feed::$items, true) . ';?>';
                 $handler = fopen($path, 'w+');
                 fwrite($handler, $content);
                 fclose($handler);
             }
             header('Location:' . $_SERVER['REQUEST_URI']);
         }
     }
 }