在我的网站,我从mysql数据创建一个表,然后现在我想添加一个表的导出按钮buttom,以便用户将能够将数据下载为CSV文件。fputcsv不写入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文件,然而它是空的! 数据可能是错误的,这样就不会有任何东西,但至少我应该有标题名称。
你能帮我解决这个问题吗?
谢谢。
标题行是否存在于数据文件中,还是整个文件为空? – 2012-07-18 20:10:34
你检查过'fputcsv'的返回值吗? – jeroen 2012-07-18 20:13:35
你是否检查文件是否打开?失败时'$ fp'将会布尔错误。 – 2012-07-18 20:15:23