Google
 
PHP
たぶねこ @ 2007年6月23日 9:17 AM

PHPには、ファイル操作用の関数が数多く用意されています。
その中で、CSVデータを扱う関数としては、ファイルの入力を行うfgetcsvとファイルの出力を行うfputcsvがあります。しかし、fputcsvでは、マニュアルにあるような操作を行っても、文字化けして正しく読み取れなくなってしまいます。バグなのか使い方が悪いのかはわからないのですが、手っ取り早くfputcsvの代用品を作成してみます。


サンプル1 (ソース

サンプル1は、リンクをクリックするとカウンターがカウントアップするプログラムです。
(2つのプログラムとデータファイルにより構成されています。)
csv-list.phpは、カウンタ量で降順となるリンクリストを表示します。
csv-count.phpは、リストからGETメソッドにより送られてくる「 no 」を、データファイルの連番に一致する行のカウンタをカウントアップしてデータファイルに戻しています。
./work/は、データ用のディレクトリです(パミッション 777)。
./work/csv.txtは、リストのデータです(パミッション 666)。次の形式で作成されています。

(連番),(カウンタ),(アドレス),(名称)

※アドレスがあるのは、リンク機能をあとで追加する為。

 この中でfputcsv代用部分は、csv-count.php中のコメント#1.fputscsv代用?#1.endに挟まれた部分です。処理している内容は次の通りです。

■fputscsv代用の機能
1.配列各列を「 ” 」で括る。
2.CSV形式として変数に出力。
3.改行コードを付加。
4.fputsで行として出力。

その下に、実際のfputcsvがコメントにしてあります。試しに入れ替えて使ってみてください。
(データが壊れてしまうので、確認後はFTPなどで修復してください。)

コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする

*

Copyright (c) 2007 njcFactory All rights reserved.
HTML convert time: 0.446 sec
Images is enhanced with WordPress Lightbox JS by Zeo
Powered by WordPress.