问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

如何用PHP下载比较大的文件,比如说300-400M的文件 - PHP进阶讨论

发布网友 发布时间:2022-04-28 05:10

我来回答

2个回答

懂视网 时间:2022-04-28 09:31

php无法下载大文件的解决办法:首先找到并打开“php.ini”文件;然后将“memory_limit”设置为1024M;接着将数据输出到客户端浏览器中即可。

推荐:《PHP视频教程》

解决使用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);

啊哈!没有问题了。

热心网友 时间:2022-04-28 06:39

如果用PHP来读大文件,简单应用倒还好,做专门的下载不可行吧?PHP做来源判断还好,但是不能够完全屏蔽一些流氓软件。我觉得吧PHP和web服务器不是专门做文件下载的,如果真要用,那就用服务器插件
+
经过特别优化的服务端咯。
如何用smarty做一个横排表格 - PHP进阶讨论

7...

如何用php对文件进行MD5校验 - PHP进阶讨论

恩,谢谢楼上。用法如下:将“test.txt”文件中的MD5 hash存储进一个文件中:在下面的案例中,我们将测试“test.txt”文件是否已经改变:??上述代码将输出下面的结果:The file is ok.

如何用浏览器直接打开word文档 - PHP进阶讨论

header头有个选项 attachements=inline什么的,具体忘了,这个就是在线打开的,但是需要浏览器装office插件

做3米成3米的写真分辨率最少设多少

分辨率设置成300像素就可以。胶背照片打印的分辨率调整到72以上户外涂装要求可低些,35个以上。分辨率可分为两个方向:复制显示分辨率和图像分辨率。显示分辨率(屏幕分辨率)是屏幕图像的精度,是显示器可以显示多少像素。因为屏幕上的点、线和面都是由像素组成的,所以显示器显示的像素越多,图像就越好,在...

PHP如何与扫描枪等外设通讯? - PHP进阶讨论

如何用php实现webservices - PHP进阶讨论 soap、xml(或普通文字)1.soap自己google或百度相关资料。一大把的或者去看看PHPRPC?2.xmlserver:[php][ol][*]\'MyNameSpace\');[*]$srv->setClass(\'User\');[*]$srv->handle();[*]?>[/ol]client:[ol][*]\':localhost/webservice.php\'...

墙纸大概多少钱一米?不同材质的墙纸价格

1.纯纸墙纸 纯纸壁纸主要是由草,不同树种的树皮经过一系列的加工而形成的。它们有着超好的环保性能,质量也比较好,但是唯一存在的不好之处就是不可以使用水清洗,否则就会影响墙纸的精美。但是可以使用湿棉布擦拭,墙纸价格比较贵。 墙纸 对于大多数消费者们来说,胶粘墙纸是很好的选择,它们质量好,...

急求:主板资料

Socket370架构CPU的和目前市面上流行的Celeron 300A是相同核心,而接口部分由Solt1改为Socket形式。从外观上看,特别象Socket7的Pentium MMX,只是中央的Die封装部分要比MMX要大些,CPU的底部比较明显,Socket370 CPU底部中央的封装部分呈长方形,明显与MMX不同,标记着Intel Celeron表明它的正式名称仍然会是Celeron,通过一...

wow要求显卡必须硬件支持D9.0吗?

或者从此页面下载:http://msdn.microsoft.com/netframework/downloads/framework1_1/ 3.4显卡6600GT出现无法进而游戏,卡机等问题应该怎么解决? 答:目前使用6600GT的用户遇到以上问题的比较多可以从下面方向参考解决问题。 1.供电不足: 为何明明电源供电充足,但6600GT在开机时会有“供电不足”的误报,这是是显卡驱动...

psp2000使用全过程

在这里我告诉大家一个方法来确认,下载的ISO游戏,到底需要不需要解压再复制的。 我们只要打开文件的属性,就可以知道,游戏需不需要解压了。 文件属性 有些朋友也许还不知道怎么看文件的属性。 方法是 : 鼠标右击文件-- 属性 --ARCHIVE 打开属性,如果看见是 ISO 文件,就不要解压,把整个压缩文件复制到记忆棒的 ISO...

Word 2003如何设置,才能打开word文档时直接跳至上次关闭时浏览的地方...

点选中。以后再打开WORD,就默认WPS了。如何用浏览器直接打开word文档 - PHP进阶讨论 点击链接直接在浏览器中打开,是因为你的浏览器有DOC的BHO对象。要做到你需要的效果,则需要用程序fread这个文件,而不是直接出来个XXX.DOC的链接 查看原帖>> word文档直接发邮件如何设置 还要装软件 ...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
广西浦北县民政局今年春节几时才放假? 怎样在Excel中画柏拉图的二八线? 郎酒鉴定真假要去哪里,鉴定方法分享 郎酒酒瓶有收藏价格吗,收藏的注意事项有哪些?(郎酒瓶子值钱吗) 郎酒酒瓶有收藏价值吗,收藏酒瓶要注意什么(郎酒瓶子值钱吗) 《战舰少女R》平海值得练吗介绍_《战舰少女R》平海值得练吗是什么_百... 黄铜镀金和钛钢镀金有啥区别 北部湾大学研究生有哪些专业 北部湾大学的研究生文评在全国的含金量重吗 极品飞车9追击的圆圈是 phpstudy的config.inc.php究竟应该放在哪里? php网站程序安装问题找不到config.php discuz程序中有config.inc.php文件吗? discuz X1程序config.inc.php在那个文件夹? 跟目录里面没有,install目录也没有,config文件下面也没有? 我的phpmyadmin里为什么找不到在个文件config.inc.php 为什么没有config.inc.php这个文件阿 网上下载的PHP文件模板怎样打开,config.inc.php怎么修改呢? config.inc.php这个东西在根目录的哪个下面 phpcms config.inc.php在哪 我下载的phpMyAdmin没有config.inc.php 为什么我的mysql没有config.inc.php配置文件 php 中的 config.inc.php config.inc.php文件在网站哪里 phpMyAdmin-2.10.0.2-all-languages.tar.gz版本里的找不config.inc.php 论坛config.inc.php 怎么查看 config.inc.php在哪 config.inc.php文件在哪 找不到config.inc.php没有config.inc.php这个文件 python的selenium爬虫怎么换代理 thinkphp怎么将文件夹压缩成zip 我发现在我的服务器里,不能下载超过1.99GB的文件,只要超过2G的文件最后下载下来都只有1.99GB 使用php下载大文件时,为什么下载15分钟20秒就停止了 在php中,如何将长日期型,转成短日期,并且转成“星期几”的格式。 php周与时间 怎样用php做个显示周历功能 php中怎么为字符串去重 php过滤重复的字符 PHP 如何删除字符中的重复符号? 输入一串字符,再输入一个字符,要求从字符串中删除相同字符 php数组的重复值如何过滤掉 php 无法引入文件文件? PHP中文件引用的问题? php 在引入另一个php文件时,当引人的文件出错,怎么这php中获取到错误,并终止程序 php引用外部文件的问题 php include引入文件问题 windows下 PHP环境引用文件出错,php.ini配置问题,服务器配置为:include_path = "." 项目的php文件在本地环境(WAMP5)中打不开,总报错,错误是关于__DIR__,怎么解决,求解答。 php 文件包含的错误 怎么在THINKPHP中引入PHP文件 script引入PHP文件问题
  • 焦点

最新推荐

猜你喜欢

热门推荐