0

以下のコードを使用してcsvファイルをtsvに変換しようとしています。

私のcsvでは、最初の単語に値がありません。コードを実行すると、tsv ファイルが正しく生成されますが、上記のエラーが発生します。助けてください

ありがとう

$myfile = "file path"; 
function convert($filename) 
{
if(@$fh_in = fopen("{$filename}.csv","r")) 
{
$fh_out = fopen("{$filename}.tsv","a"); 

while(!feof($fh_in))
{
$line = array();
$line = fgetcsv($fh_in,1024);
fwrite($fh_out,implode("\t",$line)."\n"); 
}

fclose($fh_in);
fclose($fh_out);

}
else { 
echo "File doesn’t exist\n";
return false;
}
echo "Conversion completed!\n";
return true; 
}
convert($myfile);
4

1 に答える 1

0

PHPマニュアルによると、implodeは

string implode ( string $glue , array $pieces )
string implode ( array $pieces )

したがって、あなたの場合、$line空の場合、2番目のプロトタイプで実行され\n、$piecesと見なされます。これは間違っています。したがって、$lineimplodeを呼び出す前に値を確認してください

于 2013-02-08T07:06:38.277 に答える