台灣所有道路名稱

在購物網站,或者註冊、租房子等,有時候會需要使用者留下地址,如果地址可以用選的,不是用打字,就可以懶惰一點。

如果要可以用選的,顯然就要先把所有的城市、鄉鎮市、路名,都放到資料庫裡面,並不難,到郵局的下載專區,有 5 位數郵遞區號的文字檔,就拿來用吧!

$url = "http://download.post.gov.tw/post/download/Zip32_UTF8_10303.TXT";

$db = db_conect(CONFIG::db('house'));

$handle = @fopen($url, "r");
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        preg_match('/([0-9]{3})[0-9]{2}(\S{3})(\S+(鄉|鎮|市|區|台|島))\s*(\S+)/u',$buffer,$m);
        unset($m[0],$m[4]);
        echo $buffer;
        var_dump($m);
        $db->insert("INSERT IGNORE INTO roadList SET areaCode=?,region=?,section=?,street=?,display='yes'",'ssss',$m);
    }
    if (!feof($handle)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($handle);
}

以上的程式不能跑,不過會寫 PHP 的很容易改成自己要的東西。