[PHP-dev 1205] PHP5のfgetcsv()関数について

Masanori Kobayashi markun @ leo.bekkoame.ne.jp
2005年 11月 19日 (土) 01:32:26 JST


小林といいます。

PHP4の環境からPHP5への移行作業をしています。
CSVファイルを取り込んで表示するプログラムを移行したのですが、このとき、
PHP5のfgetcsv()関数は、""で括られている項目内に改行コードが含まれている
CSVファイルを正しく読み込めません。改行コード単位でしかレコードのハンド
リングが出来ていないようです。同じファイルをPHP4のfgetcsv()関数は正しく
読み込むことが出来ます。

ざっと、bugs.php.netを見たのですが、当てはまるものが無いようでしたが、既
に登録されているバグであったらすいません。

-------------------
csvファイルの例
test.csv
-------------------
1,2,20051101,"あいうえおかきくけこ

さしすせそ
たちつてとなにぬねの",200,2005-11-01
-------------------

$a = fgetcsv("test.csv");
これをPHP5.0.5で実行すると・・・
$a[0] : 1
$a[1] : 2
$a[2] : あいうえおかきくけこ

となり、PHP4.3.11で実行すると、
$a[0] : 1
$a[1] : 2
$a[2] : あいうえおかきくけこ\n\nさしすせそ\nたちつてとなにぬねの
$a[3] : 200
$a[4] : 2005-11-01
(便宜的に改行は\nで表示)

-- 
_/_/ Masanori Kobayashi



PHP-dev メーリングリストの案内