PHPエラー「Wrong parameter count for fgetcsv()」の原因と解決方法

PHPでCSVファイルを読み込む関数「fgetcsv()」を使用しようとして、

Warning: Wrong parameter count for fgetcsv() in /var/www/html/test.php on line 12

といったエラーが出た場合、このプログラムを実行している環境はPHP5ではなく、PHP4かもしれない。

《PHP4でエラーが出るプログラムのサンプル》
$csv = fopen("/var/www/html/test.csv", "r" );
$csv2 = fgetcsv($csv);
Warning: Wrong parameter count for fgetcsv() in /var/www/html/test.php on line 12

このプログラムは、PHP5の環境ではエラーとならない。PHP5ではfgetcsv()の第2引数は省略できるようになったからだ。

PHP4では省略すると、

Wrong parameter count for fgetcsv()

というエラーになる。

つまり、

$csv2 = fgetcsv($csv);

と第2引数を省略すると、PHP5ではエラーにならないが、PHP4ではエラーになるので、例えば、以下のようにきちんと第2引数を記述すれば問題は解決する。

$csv2 = fgetcsv($csv,1000);

※fgetcsv()の第2引数:CSVファイルの各行の最大の長さ(length)を指定する。

前へ

IE8で別のサイトを開こうとするとFireFoxが起動する原因の1つ

次へ

PHPエラー「Parse error: syntax error, unexpected '['」の原因と解決方法