gpt4 book ai didi

PHP readfile() 和大量下载

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:37:07 26 4
gpt4 key购买 nike

在设置在线文件管理系统时,我遇到了障碍。

我正在尝试使用此 modified version of readfile 将文件推送到客户端:

function readfile_chunked($filename,$retbytes=true) { 
$chunksize = 1*(1024*1024); // how many bytes per chunk
$buffer = '';
$cnt =0;
// $handle = fopen($filename, 'rb');
$handle = fopen($filename, 'rb');
if ($handle === false) {
return false;
}
while (!feof($handle)) {
$buffer = fread($handle, $chunksize);
echo $buffer;
ob_flush();
flush();
if ($retbytes) {
$cnt += strlen($buffer);
}
}
$status = fclose($handle);
if ($retbytes && $status) {
return $cnt; // return num. bytes delivered like readfile() does.
}
return $status;
}

但是当我尝试下载一个 13 MB 的文件时,它刚好在 4 MB 时中断。这里的问题是什么?这绝对不是任何类型的时间限制,因为我在本地网络上工作,速度不是问题。

PHP 中的内存限制设置为 300 MB。

感谢您的帮助。

最佳答案

您很可能达到了网络服务器设置的响应缓冲区限制。已知 IIS 和 FastCGI 的默认缓冲区大小为 4mb。我将从查看网络服务器<->PHP SAPI 配置开始您的搜索。

关于PHP readfile() 和大量下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2946791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com