【发布时间】:2012-07-17 23:06:59
【问题描述】:
在我的网站中,我正在从 mysql 数据创建一个表格,然后现在我想在表格的底部添加一个导出按钮,以便用户能够将数据下载为 CSV 文件。
为此,我编写了虚拟表单:
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post">
<input type="submit" name="submit" value="Click Me">
</form>
在 php 文件的顶部我有:
if(isset($_POST['submit'])) {
export();
}
在我的导出函数中,我有一些 mysql 的东西,我正在创建一个数组并将数据推送到其中,然后:
$header = array('name', 'date', 'total', 'success', 'opens', 'clicks', 'success_rate', 'open_rate', 'CTO', 'CTR')
$fp = fopen('exportme2.csv', 'w');
fputcsv($fp, $header);
foreach ($data as $lines) {
fputcsv($fp, $lines);
}
fclose($fp);
点击导出按钮后,我会有 exportme2.csv 文件,但是它是空的! 数据可能是错误的,所以不会有任何东西,但至少我应该有标题名称。
你能帮我解决这个问题吗?
谢谢。
【问题讨论】:
-
数据文件中是否存在标题行,还是整个文件为空?
-
你检查
fputcsv的返回值了吗? -
您检查文件是否已打开?
$fp在失败时将是布尔值 false。 -
所有文件都是空的,我没有刷新页面,而是再次进入页面,现在我有了标题。但也没有数据:/