我试图了解如何为强制下载创建响应以及浏览器如何处理它。
在此处关注本文:教程。
我有一个发送文件作为下载响应的脚本。
<?php
// it's a zip file
header('Content-Type: application/zip');
// 1 million bytes (about 1megabyte)
header('Content-Length: 1000000');
// load a download dialogue, and save it as download.zip
header('Content-Disposition: attachment; filename="download.zip"');
// 1000 times 1000 bytes of data
for ($i = 0; $i < 1000; $i++) {
echo str_repeat(".",1000);
// sleep to slow down the download
// sleep(5);
}
sleep(5);
当sleep()函数在循环内时,它会在文件开始下载之前等待一段时间。
但是当放在循环之外时,文件会立即开始下载。
谁能帮我理解这种行为?
扬帆大鱼