/** * HTML データを作成する。 */ function update_html($trg, $lines) { global $x0401; global $x0402; $tmp = PATH_TMP . "/" . preg_replace("/.*\\//", "", $trg); rmdirs(array($tmp)); mkdirs(array($tmp)); update_html_prefs($tmp); update_html_cities($tmp); update_html_meta($tmp); foreach ($x0402 as $code => $city_name) { update_html_detail($tmp, $code, $city_name, $lines); } log_info("Updated : " . $tmp . "/??/???.html"); move_data($tmp, $trg); return true; }
fclose($t); fclose($s); /* * 郵便番号辞書(事業所)を出力する。 */ $s = fopen(PATH_CSV . "/" . FIRM_OUT, "rb"); $t = fopen(PATH_TMP_IME_FIRM, "ab"); while ($cols = fgetcsv($s, 1024, ",")) { if (!isset($x0402[$cols[1]])) { continue; } fwrite($t, mb_convert_encoding(mb_convert_kana(substr($cols[0], 0, 3) . "-" . substr($cols[0], 3, 7) . "\t" . $x0401[substr($cols[1], 0, 2)] . $x0402[$cols[1]] . $cols[2] . $cols[3] . $cols[4] . "\t地名その他\r\n", "A", "UTF-8"), "Windows-31J", "UTF-8")); } fclose($t); fclose($s); move_data(PATH_TMP_IME_AREA, PATH_IME . "/" . date("YmdHis", filemtime(PATH_TMP_IME_AREA)) . PATH_IME_AREA); move_data(PATH_TMP_IME_FIRM, PATH_IME . "/" . date("YmdHis", filemtime(PATH_TMP_IME_FIRM)) . PATH_IME_FIRM); // 目次ページを更新する。 $tmp = PATH_TMP_IME . "/index.html"; $trg = PATH_IME . "/index.html"; $t = fopen($tmp, "wb"); eval(preg_replace(HTML_BEGIN, 'fwrite(\\$t, <<<EOP', preg_replace(HTML_END, "\nEOP\n);", IME_INDEX))); fclose($t); move_file($tmp, $trg); log_info("Updated : {$trg}"); rmdirs(array(PATH_TMP_IME)); /* * 処理完了 */ log_info("End."); exit(0);
/** * JSON データを作成する。 */ function update_json() { rmdirs(array(PATH_TMP_JSON)); mkdirs(array(PATH_TMP_JSON, PATH_TMP_JSON_ZIP, PATH_TMP_JSON_PREF)); if (!extract_json_zip()) { return false; } if (!fill_json_zip()) { return false; } if (!fill_json_prefs()) { return false; } if (!extract_json_city()) { return false; } if (!fill_json_pref()) { return false; } move_data(PATH_TMP_JSON, PATH_JSON); return true; }