CSVファイルを使って郵便番号から住所を抽出する
2024/01/12
■ソース
<?
error_reporting(E_ALL & ~E_NOTICE);
if (is_numeric($_POST['postcode'])) {
$csv_data = array();
$csv_file = 'KEN_ALL.CSV';
$fp = fopen($csv_file, "r");
while *1 !== FALSE) {
if (array_search($_POST['postcode'], $data)) {
$csv_data[] = $data;
}
}
fclose($fp);
$address = $csv_data[0][6] . $csv_data[0][7];
$address .= ($csv_data[0][8] == '以下に掲載がない場合') ? '' : $csv_data[0][8];
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transtional//EN" "http://www.w3c.org/TR/html4/loose.dtd">
<meta http-equiv="content-type" content="text/html"/>
<meta cherset = "shift-jis">
<html lang="ja">
<head>
<title>郵便番号</title>
</head>
<body>
<h1>郵便番号</h1>
<form action="" method="post">
<input type="text" name="postcode">
<input type="submit" value="submit">
</form>
<br />
<? if (is_array($csv_data)) : ?>
住所 ⇒ <?=$address;?>
<? endif; ?>
</body>
</html>
■その他
fgetcsv
http://pg-memo.sakura.ne.jp/php_file_002_004.html
デリミタ文字⇒区切り文字
検索にヒットしたもののみを配列に格納してる。
検索云々の分岐をなくせば全ての結果が配列に格納される。
■郵便局のCSV
http://www.post.japanpost.jp/zipcode/dl/kogaki.html
*1:$data = fgetcsv($fp, 0, ","
関連記事
-
PHPでCSVファイル出力用の関数
ここのところログ系をCSVファイル出力にするケースが多かった為、使いまわせるよう ...
-
PHPで改行を含むデータをCSV化する際に表示崩れを防ぐ方法
PHPで改行を含むデータをCSV化した場合、そのCSVファイルをエクセル等で開く ...
-
PHPでCSVを簡単に取り扱える「LeagueCSV(thephpleague / csv)」の利用方法
PHPでCSVファイルの書き込みや読み込みを行う際、バニラPHPで対応していたが ...
-
PHPで簡単にCSVファイルの生成
簡単にデータ並べるだけのCSVファイル生成。 file_put_contensで ...
-
PHPからCSVファイルを出力する際にメモリを節約する方法
MySQLよりデータを大量に取り出してCSVファイル化し、ダウンロードさせるとい ...