勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

CSVファイルを使って郵便番号から住所を抽出する

   2024/01/12  PHP

■ソース

<?
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

  関連記事

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ファイル化し、ダウンロードさせるとい ...