我正在尝试从表中获取所有数据并保存到 csv 文件中。
我没有收到任何错误,但它也没有创建带有结果的csv文件。
但是当我看到输出时,我看到结果存在,但为什么csv文件没有为结果创建!!
PHP代码 -
$result = mysql_query('SELECT * FROM `info_contact`');
if (!$result){
die('Couldn\'t fetch records');
}
$num_fields = mysql_num_fields($result);
$headers = array();
for ($i = 0; $i < $num_fields; $i++) {
$headers[] = mysql_field_name($result, $i);
}
$fp = fopen('php://output', 'w');
if ($fp && $result) {
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="myCsvFile.csv"');
header('Pragma: no-cache');
header('Expires: 0');
fputcsv($fp, $headers);
while ($row = mysql_fetch_row($result)) {
fputcsv($fp, array_values($row));
}
die;
}
输出 ---
id,name,email,message,content,contactTime
34,chris,christoferhansen@gmail.com,"Hi Chris","C:fakepathCoding style.pdf","2015-11-29 19:49:02"
35,Hansen,hansen@yahoo.com,ad,,"2015-11-29 19:52:20"
我无法创建cvs文件的错误在哪里!
任何人都可以帮我这个吗
答案 0 :(得分:2)
您编写脚本以创建csv以供下载。如果您已将其写入服务器上的文件而不是将$fp = fopen('php://output', 'w');
替换为$fp = fopen('path/to/file.csv', 'w');
并删除所有header
次来电