0
次のコードを使用してcsvとしてデータをエクスポートしようとしていますが、ファイルの最後に不要な「null」が追加されています。fputcsvはファイルの末尾に 'null'を追加します
$array = array();
$fileName = 'test.csv';
$array[0] = ['Name','Email'];
$array[1] = ['Test','[email protected]'];
$fileObj = new FileStream();
$fileObj->array_to_csv_download($array,$fileName);
array_to_csv_downloadコード -
$f = fopen('php://memory', 'w');
foreach ($array as $line) {
$this -> logObj -> LogError(" CSV ".json_encode($line));
fputcsv($f, $line, $delimiter);
}
fseek($f, 0);
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="'.$filename.'";');
fpassthru($f);
出力 -
Name,Email
Test,[email protected]
null
私は何かが足りないのですか?
FileStreamのarray_to_csv_download()コードとは何ですか? 'test.csv'の内容は何ですか –
@MarcinOrlowskiすみません、私はそれを逃しました。今すぐご確認ください。 – Harshit
明らかに、イテレータ(fpassthruなど)がファイルの終わり(eof)に達するとヌルを返すという事実はありません。 eofには「ヌル文字」はありません。これは、あなたが 'while not null'ステートメントを使ってeofを判断する方法です。 –