您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
解决php无法下载大文件的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
php无法下载大文件的解决办法:首先找到并打开“php.ini”文件;然后将“memory_limit”设置为1024M;接着将数据输出到客户端浏览器中即可。
解决使用PHP无法下载大文件的问题
在实际应用中,使用PHP的fread()函数读取服务器文件会有大小限制。当服务器文件大小超过一定量时(128M?),客户端浏览器无法下载文件。是因为配置文件php.ini里的memory_limit的限制吗?
将memory_limit设置为1024M后,测试一个180M的文件,发现问题依旧,代码:
header('content-type:application/octet-stream'); header('accept-ranges: bytes'); header('content-length: '.filesize($filePath)); header('content-disposition:attachment;filename='.$fileName); $fp = fopen($filePath, "r"); echo fread($fp, filesize($filePath)); fclose($fp);
上面的读取方式是一次性将数据输出到客户端浏览器中,难道跟这有关系?试着从文件中一行一行读取:
header('content-type:application/octet-stream'); header('accept-ranges: bytes'); header('content-length: '.filesize($filePath)); header('content-disposition:attachment;filename='.$fileName); $fp = fopen($filePath, "r"); while(!feof($fp)) { echo fgets($fp, 4096); } fclose($fp);
啊哈!没有问题了。
感谢各位的阅读!看完上述内容,你们对解决php无法下载大文件的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。