csv 文件未在 for 循环内下载
csv file is not downloading within for loop
比较两个多维数组,通过匹配值得到结果。如何为这些各自的值创建和下载 csv 文件。我在下面尝试过这段代码
$mycsvfile_result = array();
foreach ($mycsvfile as $arr1)
{
foreach ($mycsvfile_log as $arr2)
{
if($arr2[2] == $arr1[0])
{
$mycsvfile_result[] = array($arr2[2], $arr2[7]);
}
}
}
为 fputcsv 尝试了代码 1
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="demo.csv"');
header('Pragma: no-cache');
header('Expires: 0');
$fp = fopen('php://output', 'w');
$data=$mycsvfile_result;
foreach ( $data as $line )
{
fputcsv($fp, $line);
}
fclose($fp);
exit();
为 fputcsv 尝试了代码 2
$csv = "col1,col2 \n";//Column headers
foreach ($mycsvfile_result as $record)
{
$csv.= $record[0].','.$record[1]."\n"; //Append data to csv
}
$csv_handler = fopen ('demo.csv','w');
fwrite ($csv_handler,$csv);
fclose ($csv_handler);
echo 'Data saved to demo.csv';
以上代码 1 结果为
id1,email1 id2,email2 id3,email3
以上代码 2 结果为
col1,col2 id1,email1 id2,email2 id3,email3 Data saved to demo.csv
我在 linux 机器上工作,我忘记给文件夹上传 csv 文件的权限。授予文件夹权限后,它就像一个魅力:)
比较两个多维数组,通过匹配值得到结果。如何为这些各自的值创建和下载 csv 文件。我在下面尝试过这段代码
$mycsvfile_result = array();
foreach ($mycsvfile as $arr1)
{
foreach ($mycsvfile_log as $arr2)
{
if($arr2[2] == $arr1[0])
{
$mycsvfile_result[] = array($arr2[2], $arr2[7]);
}
}
}
为 fputcsv 尝试了代码 1
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="demo.csv"');
header('Pragma: no-cache');
header('Expires: 0');
$fp = fopen('php://output', 'w');
$data=$mycsvfile_result;
foreach ( $data as $line )
{
fputcsv($fp, $line);
}
fclose($fp);
exit();
为 fputcsv 尝试了代码 2
$csv = "col1,col2 \n";//Column headers
foreach ($mycsvfile_result as $record)
{
$csv.= $record[0].','.$record[1]."\n"; //Append data to csv
}
$csv_handler = fopen ('demo.csv','w');
fwrite ($csv_handler,$csv);
fclose ($csv_handler);
echo 'Data saved to demo.csv';
以上代码 1 结果为
id1,email1 id2,email2 id3,email3
以上代码 2 结果为
col1,col2 id1,email1 id2,email2 id3,email3 Data saved to demo.csv
我在 linux 机器上工作,我忘记给文件夹上传 csv 文件的权限。授予文件夹权限后,它就像一个魅力:)