如何在PHP中实时创建文件时下载文件


How to download files while creating them in realtime in PHP

是否有一个PHP脚本,当我在PHP中创建文件时,我可以下载文件?

问题是我在 PHP 中有一个巨大的脚本来创建文件,要生成它,它持续大约 5 分钟。生成后,它会下载它,这里还需要 5 分钟左右。

下载一个文件总共需要 10 多分钟。

我需要的是创建一个有点像phpmyadmin的脚本,其中文件在创建时下载。

任何帮助将不胜感激

PS:我正在使用Codeigniter Framework。

提前谢谢。

这取决于您如何创建该文件,完整的示例将非常有帮助。

但基本上你需要设置正确的标题,然后你可以开始逐行输出结果。

header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: Binary'); 
header('Content-disposition: attachment; filename="file.txt"'); 
for($i=1;$i<=20;$i++)
{
    echo $i . "'r'n";
    sleep(1);
}
exit;
下载

提示将立即显示,但下载文件至少需要 20 秒。

您可能应该将标头设置为正确的 mime 类型,具体取决于您打算执行的操作。

请记住,在您

的情况下,下载的大小不可用,因此用户不会知道文件有多大或还剩下多少要下载。这是一个缺点,如果尚未创建文件,则基本上无能为力。