我从一个从文件读取中获取的数组创建一个csv文件时遇到了一些问题。
if(isset($_POST['expcsvmail'])){
$filemail= '../config/mail.txt';
$mail=file($filemail, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$fp = fopen('exported_mails.csv', 'w+');
foreach($mail as $df)
fputcsv($fp, array($df));
fclose($fp);
header("Content-Type: text/csv");
header("Cache-Control: no-store, no-cache");
header("Content-Description: List of Emails");
header("Content-Disposition: attachment;filename=exported_mails.csv");
header("Content-Transfer-Encoding: binary");
readfile('exported_mails.csv');
unlink('exported_mails.csv');
}
这就是我所说的:
<form action="function.php" target="hidden_upload" class='formcor' method='post'>
<input type="submit" id='expcsvmail' name='expcsvmail' value="Export Emails to CSV" class='sendval'/>
现在我有两个行为:如果我在刷新页面后调用它(基本上代码在调用页面内)csv已经进入,在数组之后,页面的所有代码
否则,如果我用外部文件调用它,我在文件的末尾有一个换行符(不应该在那里)
有人能帮助我吗?感谢
答案 0 :(得分:0)
您需要在exit()
语句的末尾调用if()
来停止正在处理的页面的其余部分,或者在您的情况下,将PHP脚本作为纯文本打印到页面。< / p>