60)) { $lock = 0; } } if ($lock != 1) { set_error_handler("errorHandler"); file_put_contents("lock.dat", "1", LOCK_EX); } else { $upd_kbn = 2; } } // 1日のうちは使いまわすので、既存ファイルを読み込んで抜ける if ($upd_kbn == 2) { // print_r("File OK!
"); $out_data = file_get_contents($path_me); print_r($out_data); exit(); } ////////////////////////////////////////////////////////// // ここから先、データベースからの取得処理 ////////////////////////////////////////////////////////// // アイライン処理の為に検索キーワードを取得 $referrer = $_SERVER["HTTP_REFERER"]; if (strpos($referrer, "www.google.")!==false) { $search_engine = "google"; preg_match ("/(&|\?)ie=([^&]*?)(&|$)/i", $referrer, $enc); preg_match ("/(&|\?)q=([^&]*?)(&|$)/i", $referrer, $key); $char_enc = $enc[2]; if (!$char_enc) {$char_enc = "UTF-8";} $keywords = $key[2]; } elseif (strpos($referrer, "search.yahoo.co.")!==false) { $search_engine = "yahoo"; preg_match ("/(&|\?)ei=([^&]*?)(&|$)/i", $referrer, $enc); preg_match ("/(&|\?)p=([^&]*?)(&|$)/i", $referrer, $key); $char_enc = $enc[2]; if (!$char_enc) {$char_enc = "UTF-8";} $keywords = $key[2]; } elseif (strpos($referrer, 'search.msn.co.jp')!==false) { $search_engine = "msn"; preg_match ("/(&|\?)ei=([^&]*?)(&|$)/i", $referrer, $enc); preg_match ("/(&|\?)q=([^&]*?)(&|$)/i", $referrer, $key); $char_enc = "UTF-8"; $keywords = $key[2]; } elseif (strpos($referrer, 'www.excite.co.jp')!==false) { $search_engine = "excite"; preg_match ("/(&|\?)charset=([^&]*?)(&|$)/i", $referrer, $enc); preg_match ("/(&|\?)search=([^&]*?)(&|$)/i", $referrer, $key); $char_enc = $enc[2]; if (!$char_enc) {$char_enc = "SJIS";} $keywords = $key[2]; } elseif (strpos($referrer, 'search.goo.ne.jp')!==false) { $search_engine = "goo"; preg_match ("/(&|\?)IE=([^&]*?)(&|$)/i", $referrer, $enc); preg_match ("/(&|\?)MT=([^&]*?)(&|$)/i", $referrer, $key); $char_enc = $enc[2]; if (!$char_enc) {$char_enc = "EUC-JP";} $keywords = $key[2]; } if ($keywords) { $keywords = urldecode($keywords); if (strtoupper($char_enc) != "EUC-JP") { $keywords = mb_convert_encoding($keywords, "EUC-JP", $char_enc); } // $keywords = mysql_real_escape_string($keywords); } // サイト郡全体の管理を行うURLを取得 // $php_url = file_get_contents("http://www.f-trend.net/site_mgmt/config/public_config.dat"); $php_url = file_get_contents("http://www.highspeed7.com/site_mgmt/config/public_config.dat"); // センターサーバのメインURLを取得 $template_url = str_replace("get_contents.php", "", $php_url); // トップページコンテンツ取得 $html = file_get_contents($php_url."?do=".urlencode($domain)."&rn=".$req_no."&uk=".$url_kbn."&rf=".urlencode($keywords)); // サイトマップコンテンツ取得 $html_sitemap = file_get_contents($php_url."?do=".urlencode($domain)."&rn=".$req_no."&sf=1&uk=".$url_kbn); // サイトマップXML取得 $html_sitemap_xml = file_get_contents($php_url."?do=".urlencode($domain)."&rn=".$req_no."&sf=1&sx=1&uk=".$url_kbn); //////////////////////////////////////////////////// // イメージファイル取得 //////////////////////////////////////////////////// // 一度削除してディレクトリ作成 remove_directory("img"); remove_directory("css"); mkdir("./img", 0777); mkdir("./css", 0777); // ファイルリストを読み込んでダウンロード(アップロード?) for ($ii = 0; $ii < 3; $ii++) { switch ($ii) { case 0: // ルート $dn = ""; break; case 1: // イメージ $dn = "/img"; break; case 2: // CSS $dn = "/css"; break; default: break; } $file_list = file_get_contents($template_url."format/work/".$req_no.$dn."/file_list.dat"); $fl = split(",", $file_list); for ($i = 0; $i < count($fl); $i++) { // ダウンロード(アップロード?) if ($fl[$i] != "Array") { $fn = split("/", $fl[$i]); $f_name = $fn[count($fn) - 1]; if ($f_name != "index.html" && $f_name != "file_list.dat") { $cnt = file_get_contents($template_url."format/work/".$req_no.$dn."/".$f_name); file_put_contents(".".$dn."/".$f_name, $cnt, LOCK_EX); } } } } $domain_esc = str_replace(".", "\.", $domain); $domain_esc = str_replace("/", "\/", $domain_esc); preg_match_all("/(http:\/\/www\.".$domain_esc."\/([^<>]*?)\/([^<>]*?\.html)?)/i", $html, $out); $url = $out[0]; $dir = $out[2]; $file = $out[3]; $dir_c = array_unique($dir); for ($i = 0; $i < count($dir_c); $i++) { // 一度フォルダを削除 remove_directory($dir_c[$i]); } for ($i = 0; $i < count($url); $i++) { if ($url[$i] != "") { // フォルダを作成 if (!file_exists($dir[$i])) { mkdir($dir[$i], 0777); } // ファイルを作成 if ($dir[$i] != "" && $file[$i] == "") { $file[$i] = "index.html"; } $path = "./".$dir[$i]."/".$file[$i]; $count = substr_count($file[$i], "_"); if ($count == 1 or $file[$i] == "index.html") { // カテゴリ preg_match("/_([0-9]*)$/i", $dir[$i], $ou); $cat_no = $ou[1]; $out_url = $php_url."?do=".urlencode($domain)."&rn=".$req_no."&cn=".$cat_no."&uk=".$url_kbn; } elseif ($count == 2) { // コンテンツ preg_match("/_([0-9]*)$/i", $dir[$i], $ou); $cat_no = $ou[1]; preg_match("/_([0-9]*)\./i", $file[$i], $ou); $kiji_no = $ou[1]; $out_url = $php_url."?do=".urlencode($domain)."&rn=".$req_no."&cn=".$cat_no."&kn=".$kiji_no."&uk=".$url_kbn; } $file2 = str_replace(".html", ".dat", $file[$i]); $out_html = file_get_contents("distribute.html"); $out_html = str_replace("#path_me#", "./".$file2, $out_html); $out_html = str_replace("#out_url#", $out_url, $out_html); file_put_contents($path, $out_html, LOCK_EX); // print_r($url[$i]."
"); } } // 自身をファイルに書き出し file_put_contents($path_me, $html, LOCK_EX); // サイトマップをファイルに書き出し file_put_contents($path_sitemap, $html_sitemap, LOCK_EX); // サイトマップXMLをファイルに書き出し file_put_contents($path_sitemap_xml, $html_sitemap_xml, LOCK_EX); // 出力 print_r($html); // ロックを解除して終了 file_put_contents("lock.dat", "0", LOCK_EX); // エラー処理 function errorHandler($errno, $errstr, $errfile, $errline) { // $errno は error_reporting の値を参照。 if ($errno == 1 || $errno == 2 | $errno == 4) { // エラー通知処理 // ロック解除 file_put_contents("lock.dat", "0", LOCK_EX); } } // ディレクトリ削除 function remove_directory($dir) { // if ($handle = opendir("$dir")) { // while (false !== ($item = readdir($handle))) { // if ($item != "." && $item != "..") { // if (is_dir("$dir/$item")) { // remove_directory("$dir/$item"); // } else { // unlink("$dir/$item"); // } // } // } // closedir($handle); // rmdir($dir); // } system("rm -rf ".$dir); } ?>