Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
网站在下载php中的大文件时被冻结_Php_Wordpress_Download - Fatal编程技术网

网站在下载php中的大文件时被冻结

网站在下载php中的大文件时被冻结,php,wordpress,download,Php,Wordpress,Download,我正在用php下载大的.mp4文件。我使用下载按钮下载,但当我点击下载按钮时,网站冻结,我无法移动到其他任何地方。我在网上搜索,我几乎用尽了一切办法来避免这种情况,但我做不到。我找不到解决办法。希望你能帮助我。提前谢谢 以下是下载代码: 有时,readfile在处理大文件时可能会导致问题,即使PHP文档中另有说明 你可以试着分块阅读: $fd = fopen ($fullPath, "r") while(!feof($fd)) { $buffer = fread($fd, 2048);

我正在用php下载大的.mp4文件。我使用下载按钮下载,但当我点击下载按钮时,网站冻结,我无法移动到其他任何地方。我在网上搜索,我几乎用尽了一切办法来避免这种情况,但我做不到。我找不到解决办法。希望你能帮助我。提前谢谢

以下是下载代码:

有时,readfile在处理大文件时可能会导致问题,即使PHP文档中另有说明

你可以试着分块阅读:

$fd = fopen ($fullPath, "r")
while(!feof($fd)) {
    $buffer = fread($fd, 2048);
    echo $buffer;
}
fclose ($fd);

谢谢你的回答,我试过了,但没用。还是same@user3583237好的,在这种情况下,你首先需要确定它开始悬挂的位置。我建议你在检查网站是否失去响应的同时,通过注释掉这些行并逐渐取消注释来进行调试。我按照你的建议做了,我认为这是关于readfile过程的。当你使用fread而不是readfile时也是如此?不幸的是,当我使用fread而不是readfile时也是如此。我今天真的需要解决这个问题,但我不能..你是说服务器上触发的下载会冻结你的浏览器吗?或者web服务器和浏览器在同一台电脑上?@ntd web服务器和浏览器在同一台电脑上。我在本地主机上进行了尝试。我已经搜索了8个小时,仍然找不到解决方案。好吧,至少我会尝试另一个浏览器,看看问题是在客户端还是服务器端。如果可能的话,我也会尝试使用curl直接从命令行发送相同的请求。
$fd = fopen ($fullPath, "r")
while(!feof($fd)) {
    $buffer = fread($fd, 2048);
    echo $buffer;
}
fclose ($fd);