【发布时间】:2016-02-02 16:25:09
【问题描述】:
下面的小演示代码运行成功
<?php
$list = array
(
"ID,Name,Preview,Payout",
"Peter,Griffin,Oslo,Norway",
"Glenn,Quagmire,Oslo,Norway",
);
$today_doc=date("Y-m-d").".csv";
$file = fopen($today_doc,"w");
foreach ($list as $line)
{
fputcsv($file,explode(',',$line));
}
fclose($file);
// We'll be outputting a csv
header('Content-type: text/csv');
// It will be called contacts.csv
header('Content-Disposition: attachment; filename="'.$today_doc.'"');
// The PDF source is in original.csv
readfile($today_doc);?>
我在我的脚本中使用了上面的演示代码,但它不起作用。说-> 警告:无法修改标头信息 - 标头已由(输出开始于
$selected_ids=$_POST['selected_id'];
$xyz="";
$list = array
("ID,Offer Name,Emp,salary");
$i=0;
foreach($selected_ids as $id)
{
$xyz.=$id.',';
}
$xyz=trim($xyz,',');
$extract=mysqli_query($con,"SELECT * FROM `emp_record` WHERE id in ($xyz)") or die(mysqli_error($con));
while($row = mysqli_fetch_array($extract))
{
$i++;
$list[$i]=$row["id"].','.$row["name"].','.$row["emp"].','.$row["salary"];
}
$today_doc=date("Y-m-d").".csv";
$today_doc="contacts.csv";
$file = fopen($today_doc,"w");
foreach ($list as $line)
{
fputcsv($file,explode(',',$line));
}
fclose($file);
// We'll be outputting a csv
header('Content-type: text/csv');
// It will be called contacts.csv
header('Content-Disposition: attachment; filename=contacts.csv');
//The PDF source is in original.csv
readfile("contacts.csv");
}
谁能帮忙解决这个问题。
【问题讨论】:
-
尝试添加error_reporting(E_ALL);到文件顶部,如果您收到任何通知、警告,那就是原因。
-
现在错误未显示,但文件正在下载代码。不是保存在文件中的数据。
-
在
<?php之后添加error_reporting(E_ALL);而不是之前。 -
它已经在 php 标签中了
-
您必须检查您的完整文件。在这段代码中,我看不到任何错误。 @kpatil
标签: php csv file-handling