我有一个名为$ content的数组,其行包含
之类的数据$content[0]=name,title,city,country
$content[1]=name1,title1,city1,country1
如何将此数组保存为csv
文件,以便名称在列上,标题为另一个,等等?
要将其写入外部文件,我的代码是
$file = fopen("d:/data.csv","w");
foreach ($list as $line)
{
fputcsv($file,explode(',',$content));
}
fclose($file);
但它有空行和列。
答案 0 :(得分:0)
你的变量全都搞砸了。它应该是:
foreach ($content as $line) {
fputcsv($file, explode(',', $line));
}
但由于$line
已经是逗号分隔的字符串,因此您不需要将其展开并使用fputcsv()
,您可以按原样编写它。
file_put_contents("d:/data.csv", implode(PHP_EOL, $content) . PHP_EOL);
答案 1 :(得分:0)
嗨这是我的例子,我用过你可以用这个想法。
<?php
$con=mysqli_connect("localhost","root","","a") or die("error");
$res=mysqli_query($con, "select * from reg");
$i = 0;
while($row=mysqli_fetch_assoc($res)){
$new[$i] =$row;
$i++;
}
function outputCSV($data) {
$filename = "example";
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename={$filename}.csv");
header("Pragma: no-cache");
header("Expires: 0");
$outputBuffer = fopen("php://output", 'w');
foreach($data as $val) {
fputcsv($outputBuffer, $val);
}
fclose($outputBuffer);
}
outputCSV($new);