勉強したことのメモ

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

  関連記事

composerでmonologとTwigをインストール

「composerで○○をインストール」というのをよく見かけるがcomposer ...

MySQLでのエラーについて

エラーログをとるようになってから色々エラーを 見る機会が出来てきたのでメモ。 プ ...

Opauthで「Please change the…」エラー

Opauthを使用中に「Notice: Please change the va ...

mb_convert_variablesとmb_convert_encodingの違い

両関数の違いについて、引数の場所というか順番が違うだけ? と思ってたけどどうにも ...

PHPからredisを利用する

もうちょっと 突っ込んで触ってみる。   【接続と終了】 [crayo ...

PHPで簡単にCSVファイルの生成

簡単にデータ並べるだけのCSVファイル生成。 file_put_contensで ...

MySQLiでINSERT文

MySQLiでINSERT文 ■ソース $mysqli = new mysqli ...

CRUDのfunction化(管理画面)

<? /* よく使うような管理画面(CRUD?)をfunctionで分けて ...

PHPのカレンダー関数

カレンダー関数で使えるかもしれないものをメモ。 ■cal_days_in_mon ...

エラー処理を1ページにまとめる

できるだけまとめておいた方が効率よさそうなのでメモ。 メインのフォルダにlogs ...