【发布时间】:2013-11-28 08:27:51
【问题描述】:
所以我正在使用我在互联网上找到的解决方案来发送文件,并且它确实有效! 但我真的不明白为什么:(
在我的解决方案中,我正在生成一个 CSV(测试;测试;测试;测试;测试)。
所以我告诉我的标题它是一个 csv 文件,它也应该是一个附件:
<?php
$nom = time().'.csv';
header('Content-type: text/csv');
header('Content-disposition: attachment;filename='.$nom);
?>
这个我明白,这很简单,但是说到:
flush();
readfile($nom);
我明白 flush();将缓冲区交付给客户端吗? 但为什么是 readfile();必要的 ? 我的意思是,如果发送了内容,我为什么要再次读取文件?
【问题讨论】:
-
flush()与发送文件内容无关,它只是刷新您已经回显的任何内容。 -
在这种情况下,
flush()也会发送您指定的标头。