PHPからCSVファイルとして保存したい配列が2つあります。問題は、このコードが最初の呼び出しに対してのみ機能することです。たとえば、以下の例では、保存することはできますがarray1
、array2
保存されません。との場所を入れ替えるarray1
とarray2
、array2
の代わりに保存されますarray1
。私のコードの実際の何が問題になっていて、どうすればこの問題を解決できますか?
header("Content-type: text/csv");
header("Pragma: no-cache");
$headers = array('xxx','yyy','zzz');
saveCSV($array1,"file1.csv",$headers);
header("Content-type: text/csv");
header("Pragma: no-cache");
$headers = array('aaa','bbb','ccc');
saveCSV($array2,"file2.csv",$headers);
function saveCSV($data,$fileName,$headers) {
$outstream = fopen($fileName, "a");
file_put_contents($fileName, "");
if ($headers != 0)
fputcsv($outstream,$headers);
function __outputCSV(&$vals, $key, $filehandler) {
fputcsv($filehandler, $vals);
}
array_walk($data, "__outputCSV", $outstream);
fclose($outstream);
}