0

我已经使用生成 CSV 文件的标头函数编写了一个脚本。让我详细解释一下。第 1 步)我在 mysql 中保存记录。第 2 步)我正在从数据库中保存的记录创建 CSV 文件 第 3 步)我想将该 CSV 附加到附件中,以便我可以将其发送给不同的客户!!我已经完成了这两个步骤。但我不想在 CSV 文件生成过程中使用下载功能,因为我不希望任何人都可以使用此文件。我的代码如下所示:

        $file_name = "Register_" . date('l');

        $file_name.=".csv";

      header("Content-type: application/octet-stream");
        header("Content-Disposition: attachment; filename=$file_name");
        header("Pragma: no-cache");

        header("Expires: 0");
        print "$header\n$data";

我需要在哪里进行更改?

4

3 回答 3

0

您可以使用AddStringAttachment

$file_name = "Register_" . date('l') . ".csv";
$excelContent = "$header\n$data";
$phpmailer->AddStringAttachment($excelContent, $file_name, 'base64', 'application/vnd.ms-excel');
于 2012-10-03T08:58:28.637 回答
0

只需删除所有呼叫header()和最后一个print

于 2012-10-03T08:53:13.117 回答
0

您可以通过使用 ob_buffer 函数并“捕获”生成的输出来做您尝试做的事情。然而,整个方法有点奇怪:

标头功能与创建电子邮件无关。它们用于指定浏览器应如何处理传输的数据。因为这就是你所做的:你发送标题和数据。不。

相反:将 csv 数据写入缓冲区或文件,并使用可用的电子邮件类之一(google ...)创建电子邮件。然后将精心制作的电子邮件发送出去。不需要 header() 函数。

于 2012-10-03T08:53:18.950 回答