勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

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

      2014/05/23

■ソース

<?
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でのend~~について

endforとかendifとか使いたかったけど、構文の書き方が 分からなかったの ...

Facebookのタイムラインを取得して表示する方法

Facebookのタイムラインを取得してきて、表示させたいという案件があった。 ...

ガラケーorスマフォ判別

ガラケーとスマフォの判別。 やりたい事はガラケーorスマフォで条件分岐させたい。 ...

PHPでサイトマップを動的に生成する

WordPress等のCMSは使っておらず、自動更新するサイトがあり、そのサイト ...

PHPで指定月の月末日を取得

今月の、だったらdate('t')でいくけど指定月の場合は どうしたらいいのか分 ...

PHPでdatetime型を分割する

datetime型を年月日時分秒でそれぞれに 分割させたい時に、今まではいちいち ...

Twigの使い方簡易メモ

開発中の案件でテンプレートエンジンのTwigを利用する機会があった。使ってみた感 ...

PHPでのcookie

aaa.comにログインフォームがあって、IDパスを入れて ログインするとbbb ...

PukiWikiでバックアップのスケジュール化

PukiWikiでバックアップを取りたかった。調べたらディレクトリごと保存すれば ...

体重管理をPHPで

体重とBMIを管理する画面をPHPで作ってみようと思った。 ソースは下記の通り。 ...