我是PHP的新手。我正在尝试在人注册时将数据添加到CSV文件。我想问一下,有没有办法添加列名?
这是我的PHP代码:
$handle = fopen("data.csv", 'a');
fwrite($handle, $doi. ", " .$per_add. ", " .$pre_add."\n");
fclose($handle);
header("Location: thankyou.html");
exit;
答案 0 :(得分:0)
正如我在评论中指出的那样。添加标题意味着将其添加到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);
}
如果您的文件太大而无法存储在内存中,那么您需要逐行重写整个文件,然后删除旧文件:
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 :(得分:-1)
列名只是csv的第一行。所以你只需检查文件是否存在(并且非空)。如果它不存在,请使用列名作为第一行创建它。