私のコメントで指摘したように。ヘッダーを追加すると、これがCSVファイルの先頭に追加されます。これは一度だけ行う必要があります(ファイルが存在するかどうかをチェックし、ヘッダーを最初に書き込まない場合)。しかし、あなたはすでにあなたがあなたにヘッダを付加したいファイルは、以下のいずれかを行うことができます持っている場合:
あなたのファイルはあなたがこれを行うことができます小さい場合:ファイルがに大きすぎる場合
function prependHeader($headerDataArray) {
$currentData = file_get_contents("data.csv");
$handle = fopen("data.csv", 'w'); //Truncate it
fputcsv($handle, $headerDataArray);
fwrite($handle, $currentData);
fclose($handle);
}
をメモリ内に保存する場合は、基本的にファイル全体を1行ずつ書き換えてから古いファイルを削除する必要があります:
function prependHeader($headerDataArray) {
$readHandle = fopen("data.csv");
$writeHandle = fopen("newData.csv", 'w'); //Truncate it
fputcsv($writeHandle, $headerDataArray);
while (($line = fgetcsv($readHandle))) {
fputcsv($writeHandle,$line);
}
fclose($readHandle);
fclose($writeHandle);
unlink("data.csv");
rename("newData.csv", "data.csv");
}
カラム名は1回だけ追加されます。私はその質問を誤解した。 – apokryfos