好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
如何使用PHP从URL地址下载一个文件到服务器呢? 关闭 返回上一级  

如何使用PHP从URL地址下载一个文件到服务器呢?
+ 查看更多

发布日期:2018-02-24 17:44
分类:PHP
浏览次数:122
好吧,这是一个似乎很简单的问题。将文件下载到您的服务器所需要做的就是:
file_put_contents("Tmpfile.zip",file_get_contents("http://someurl/file.zip"));
只有一个问题。如果你有一个大文件,如100mb。然后,这将耗尽内存,无法下载文件。 我想要的是一种下载它的同时将它写入磁盘的方式。这样,我可以下载更大的文件,而不会遇到内存问题。

回答

从PHP 5.1.0开始,file_put_contents()支持通过传递一个stream-handle作为$data参数来逐个写入:
file_put_contents("Tmpfile.zip", fopen("http://someurl/file.zip", 'r'));
手册中写道:
如果data [第二个参数]是流资源,则该流的剩余缓冲区将被复制到指定的文件。这与使用stream_copy_to_stream()类似。
PS:这也就意味着不管文件有多大(1G, 10G),您都无需再担心内存不够的问题。伟大的流技术!
上一篇如何生成一个随机的、唯一的、由字母和数字组成的字符串
如何用PHP检查文件夹是否存在下一篇
下一篇如何用PHP检查文件夹是否存在

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号