PHP标题& CSV没有下载选项

时间:2012-10-03 08:44:36

标签: php csv header

我使用生成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";

我需要在哪里进行更改?

3 个答案:

答案 0 :(得分:0)

只需移除对header()和最后print

的所有来电

答案 1 :(得分:0)

您可以使用ob_buffer函数和“捕获”生成的输出来执行您尝试的操作。然而整个方法有点奇怪:

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

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

答案 2 :(得分:0)

您可以使用AddStringAttachment

$file_name = "Register_" . date('l') . ".csv";
$excelContent = "$header\n$data";
$phpmailer->AddStringAttachment($excelContent, $file_name, 'base64', 'application/vnd.ms-excel');