2008/06/29

PHP と SQlite2

http://www7.atpages.jp/dalice/sqlite.php

 

前にPythonで作ってアップロードしたら動かないって泣いたやつのPHP版。

PHPは何処でエラーが起きてるか分かりやすいからいいよね:P

 

どうやらPHPはSQlite2でなければならないようなのでSQlite2をダウンロードしなければならない。

ただ、困ったことに公式ではSqlite3しかダウンロードできない。

 

http://www.sqlite.org/sqlite-2_8_17.zip

なんとURLをダイレクトに叩いてみたら出来ました。

でも、それにCSVファイルをインポートしようと思ってもSqlite3のやり方では出来ないし、ネット上はほとんどSqlite3の手法ばかりなので、Sqlite3でdbを作成しそれをSqlite2に入れ込むと言う方法をやってみた。

 

【コラム】OS X ハッキング! (267) SQLite用にCSVファイルを料理する - 弁当もOK! | パソコン | マイコミジャーナル

Sqlite3からdbを作成する方法はこちらを参考。と言うよりもまさにやりたいことなんですが。

 

ただ、これを行う前にダウンロードしてきたCSVファイルに一手間かけました。

郵便番号データダウンロード - 日本郵便

このデータの中の”を消し、UTF-8にエンコードし直しました。

 

作成したSqlite3のdbをSqlite2にするには

sqlite3 hoge.db3 .dump | sqlite fuga.db2

と言うのがあるらしい。

実際に

sqlite3.exe ZIP.db .dump | sqlite.exe POST.db

で作成することが出来ました。

ちなみに、

Sqlite3で作成したZIP.dbが 255KB

Sqlite2に変換したPOST.dbが 325KB と重くなっています。

 

if($_POST){
  $sh = $_POST["content"];

これで同一のファイル内でのFormの受け渡しが出来ました。

 

なれた人なら億万倍効果的な事が出来ると思う。