勉強したことのメモ

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

  関連記事

smart_resize_imageで縦横の比率関係なく、固定リサイズ

PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったs ...

PHPでif文とswitch文

ずっとif文を使っていたけどswitch文の方が速いみたい。 あとずらずら~とi ...

PHPで数字のプラスとマイナスを反転させる

gmp_neg http://php.net/manual/ja/functio ...

URLのクエリを取得

<? /* 通常であれば$_GETとかで取得するが、 http://tes ...

ゼロ詰め(ゼロパディング)の逆はゼロサプレス

ゼロパディングしている日付のゼロの部分を排除したかった。ただ、どうやって調べたら ...

PHP5.3にバージョンアップした際の注意

PHP5.1? ぐらいから5.3にバージョンアップした際に 色々とあったのでメモ ...

フォーム用テンプレPHP

<?php ini_set( 'display_errors', 0 ); ...

PHPでのend~~について

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

cronの設定方法

cronを設定してみたので方法をメモ。 まずcronで動かすPHPを作成。 ■c ...

MySQLiでINSERT文

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