我使用生成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";
我需要在哪里进行更改?
答案 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');