0

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

4

1 回答 1

0

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

于 2013-03-10T22:30:09.427 回答