用php创建的Csv也包含页面代码

时间:2013-03-10 22:27:42

标签: php csv

我从一个从文件读取中获取的数组创建一个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已经进入,在数组之后,页面的所有代码
否则,如果我用外部文件调用它,我在文件的末尾有一个换行符(不应该在那里)
有人能帮助我吗?感谢

1 个答案:

答案 0 :(得分:0)

您需要在exit()语句的末尾调用if()来停止正在处理的页面的其余部分,或者在您的情况下,将PHP脚本作为纯文本打印到页面。< / p>