从 URL 下载文件到服务器

2023-12-12

嗯,这看起来很简单,确实如此。要将文件下载到服务器,您所需要做的就是:

file_put_contents("Tmpfile.zip", file_get_contents("http://someurl/file.zip"));

只有一个问题。如果您有一个大文件(例如 100mb)怎么办?然后,您将耗尽内存,并且无法下载该文件。

我想要的是一种在下载文件时将文件写入磁盘的方法。这样,我可以下载更大的文件,而不会遇到内存问题。


从 PHP 5.1.0 开始,file_put_contents()支持通过传递流句柄作为逐段写入$data范围:

file_put_contents("Tmpfile.zip", fopen("http://someurl/file.zip", 'r'));

从手册中:

If data[即第二个参数]是一个流资源,该流的剩余缓冲区将被复制到指定的文件。这与使用类似stream_copy_to_stream().

(Thanks Hakre.)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 URL 下载文件到服务器 的相关文章

  • header() 错误未在 php 中显示

    我写了一个PHP程序 我用session start and header 函数 我知道在向客户端发送任何内容之前应该使用此函数 没关系 但是为了测试 我向客户端发送了一条测试消息echo test 在使用 header 之前 但我没有收到
  • 更新重复密钥上的复合密钥 [重复]

    这个问题在这里已经有答案了 我需要更新新行 如果两者都满足 date dat and empId who 作为复合键 但如果其中之一或两者不同 则插入 sql INSERT INTO history SET endtimestamp now
  • Laravel 验证:存在附加列条件 - 自定义验证规则

    在 Laravel 中指定存在验证规则时 是否有一种方法可以引用另一个字段 我希望能够说输入 a 必须存在于表 a 中 输入 b 必须存在于表 b 中 并且表 b 中列 x 的值必须等于输入 a 最好通过例子来解释 public rules
  • 使用 PhpStorm 删除 CakePHP 中的插件后出现“成员有私人访问错误”

    从我的 CakePHP 框架中删除插件以及与其关联的所有代码行后 我在以下位置收到错误getInitializer的功能autoload static php in my vendor gt composer folder public s
  • 从twitter api实体参数php获取图像url

    我正在尝试通过实体参数使用 php 获取并显示在推文中发布的图像 我的 url 中有 include entities 可以看到返回的 json 中的实体 在我的 foreach 循环中 我正在执行以下操作 foreach results
  • 使用 PHP/COM/ADSI/LDAP 更改 AD 密码

    我已经被这个问题困扰了好几天了 我尝试了各种解决方案均无济于事 请帮忙 Problem 我们有两个域控制器 它们不属于我们的管理范围 我们能够通过端口 389 上的 LDAP 进行连接 但无法通过端口 636 安全连接 我们正在开发一个系统
  • Ubuntu 18.04升级后php7.2-curl无法安装

    今天从 16 04 升级到 18 04do release upgrade d 在升级过程中 我被告知一些软件包将被删除 其中包括 删除 libperl5 22 lxc common perl modules 5 22 php imagic
  • $_POST、$_GET 和 $_REQUEST 之间有什么区别?

    我对这些超级全局变量有点困惑 POST GET and REQUEST 在 PHP 中 在 PHP 中哪些场景需要使用这些变量 这三个变量的主要区别是什么 POST是在使用 application x www form urlencoded
  • Node.js 进行 rsa 加密的正确方法?

    我正在尝试创建一个 WS 来发出肥皂请求 在消息正文中有一个包含加密文本的字段 我有公钥来加密文本 但我获得的唯一结果是文本无法识别 我使用节点的加密模块来发出请求 并且文本已加密 但我不知道为什么没有正确加密 PS我用 openssl p
  • 通过 AJAX 发送 XML

    我在 jQuery 中创建了一个 xml 文档 如下所示 var xmlDocument
  • PHP/MySQL:如何在网站中创建评论部分[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我不会问 如何使用 PHP MySQ
  • 如何在 PHP 数组中的另一个已知(通过键或指针)元素之后有效地插入元素?

    给定一个数组 a array abc 123 k1 gt v1 k2 gt v2 78 tt k3 gt v3 当其内部指针指向其元素之一时 如何在当前元素之后插入元素 如何在键已知元素 例如 k1 之后插入元素 表现护理 您可以通过使用拆
  • PHP mkdir() 和 fopen() 不起作用 - 权限问题? umask问题?

    以下 PHP 脚本无法创建目录 它也将无法创建文件 当目录已经存在时 ini set error reporting E ALL define ABSPATH SERVER DOCUMENT ROOT echo ABSPATH br br
  • HTTPbis - bis 是什么意思?

    我经常看到 bis 附加到协议版本 例如 v 34bis 或 httpbis bis 是什么意思或代表什么 我认识的一位电信工程师认为它可能起源于法国 正如其他人已经说过的 bis 来自 两次 或 重复 http oxforddiction
  • 如何将参数传递给 Symfony2 中的验证约束 - 在 yml 中

    我正在尝试向我的应用程序添加一个包范围的参数 以便我可以将其添加到我的验证约束文件 validation yml 中 myApp myBundle Entity Contact properties name NotBlank messag
  • PHP 时间间隔

    我正在寻找一个看起来应该非常简单的解决方案 但似乎我不能在这里找到任何好的答案 而且我自己似乎无法让它发挥作用 我正在寻找的是设置开始时间 结束时间 然后迭代给定时间间隔之间的一组时间 例如 上午 9 00 下午 5 00 是开始时间 这些
  • 通过ajax执行后期操作时如何克服CORS重定向问题?

    我可以通过外部登录表单中的 post 方法类型提交表单来登录 roundcube 实例 托管在另一台服务器上 我收到此错误 通过 ajax 签名时 XMLHttpRequest 无法加载https 192 168 0 7 mail http
  • PHP简单的html dom解析器与wordpress冲突吗?

    PHP简单的html dom解析器与wordpress冲突吗 因为每当我尝试将其与此代码一起包含在我的标头中时 一切都变成空白 感谢您提前提供任何帮助 当我尝试在 HTML 文档中使用 PHP 包含时 我遇到了同样的问题 但当我使用func
  • 如何获取 URL 中未知的 $_GET 值的数组?

    我正在使用一个在线购物车 它接受订购的商品并通过 URL 将其唯一 ID 传递到 process php 页面 所以 URL 看起来像这样 process php code 1 231 code 2 532 code 3 342 Anoth
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt

随机推荐

  • 如何计算iOS应用程序启动时间

    我想知道是否有一种快速有效的方法来确定从打开应用程序到完全加载的时间 我在想我会做一些类似的事情NSDate对象在didFinishLaunchingWithOptions并在我的中得到另一个UIViewController 然后比较它们
  • ADB 在 Windows 上并行运行多个 Android 设备

    有没有办法在多个连接的 Android 设备上并行运行 ADB 命令 我需要在 200 台设备上批量安装 5 个应用程序 亚行似乎是最快的选择 但是 如果我可以在多个设备上并行执行此操作 那么它将进一步节省时间 创建一个batch inst
  • Swift 检查文本字段是否为空

    我知道有大量的堆栈溢出页面解释了如何执行此操作 但每次我从这里获取代码并将其放入其中时 我都会遇到相同的错误 并且该错误的值是 字符串 没有成员 文本 有什么可靠的方法可以快速检查文本字段是否为空吗 let userEmail userEm
  • C 将指针传递给函数指针并使用 malloc

    我正在尝试获取标准输入以扫描两个二维并行数组 arrAtk arrDef x行 xy列 yy每行的长度都是可变的 第一行输入是x每个数组中的行数 第二行是y为第一行的列数 接下来是y要读入 arrAtk 数组的整数 然后另一个y要读入 ar
  • UIImageView Mask Layer 不是来自角落,直到第一次滚动 PageViewController

    我想达到这个结果 所以我需要在底部添加面具 但这是我得到的 我尝试过的代码 private func setupImageCutPath let path UIBezierPath path move to zero path addLin
  • Jquery / Javascript 根据输入字段更改表单操作

    我有这样的表格
  • 如何在 Joomla 中使用 AJAX 更改另一个选择列表

    我有一个国家列表和每个国家的城市列表 我将两者都设置为下拉列表 我的问题是 当所选国家 地区发生变化时 如何更改列出的城市 这是我的 XML 代码
  • 我可以同时运行 Xcode 3 和 Xcode 4 吗?

    我刚刚升级到 Xcode 4 我有一个项目仍然依赖于 Xcode 3 如何重新安装 Xcode 3 并且不会搞砸当前的 Xcode 4 安装 没问题 Xcode 3 安装程序允许您选择安装目录 我的偏好是将其安装在 Developer ol
  • == 或 .Equals()

    为什么要使用其中一种而不是另一种 是身份测试 如果被测试的两个对象实际上是同一个对象 它将返回 true Equals 执行相等测试 如果两个对象认为自己相等 则返回 true 身份测试速度更快 因此您可以在不需要更昂贵的相等测试时使用它
  • 如何通过添加附加参数来重定向传入的 URL 请求

    问题 我的服务器应用程序收到传入的 HTTP 请求 请求是这样的 http example com id abc 我需要解析这个请求 修补额外的 URL 参数并调用托管的 html 文件 所以 http example com id abc
  • jaxb java 类到多个 xml 映射

    我有几个 java 类 我想使用 jaxb 将它们转换为 xml 我不需要根据模式生成类 我需要能够将类映射到不同的 xml 格式 所以我不想使用注释 据我所知 最好的选择似乎是使用外部 xml 绑定 所以我想知道 1 我正在使用日食 我是
  • vcl.h:没有这样的文件或目录

    我正在寻找在 Visual C 中编译一些旧的源代码 然而 我收到的许多错误中的第一个是 vcl h No such file or directory 这似乎是对 Visual Component Library 的引用 它似乎是 Bor
  • htaccess 指令后 POST 变为 GET

    我在 Apache htaccess 文件中使用以下指令隐藏 php 文件扩展名 RewriteCond THE REQUEST A Z 3 s php NC RewriteRule 1 R L NC RewriteCond REQUEST
  • 最大化窗口并使用 powershell 将其置于前面

    有没有办法从 powershell 中打开一个窗口 我尝试隐藏所有窗口 工作 并将 powershell 恢复 不工作 void System Reflection Assembly LoadWithPartialName Microsof
  • std::unordered_map 和由多个元素构建的键

    我想存储在包装网络连接的地图对象中 其中键应该是IP地址 端口号 我的问题是我应该如何处理带有两个元素的这样的键 我可以定义std unordered map
  • 未解决的依赖关系:com.typesafe.play#play-slick_2.10;0.6.0.1:找不到

    当我尝试在 Mac OS X Mavericks 上的 Play Framework 2 2 2 sbt 0 13 0 和 Scala 2 10 3 中使用 slick 或 play slick 时 出现未解决的依赖项错误 info Upd
  • WPF 中的依赖属性使用

    我很难找出依赖属性的充分理由 为什么 System Controls TextBox Text 属性是依赖属性而不是普通属性 作为依赖属性有什么好处 我想要完成的事情之一是将 ValidationRules 属性添加到我的 UserCont
  • Android N 要求 IDE 运行 Java 1.8 或更高版本?

    My XML布局未呈现并显示此错误消息 我已经在使用 Java 8 还使用 Gradle 中最新的构建工具 android compileSdkVersion android N buildToolsVersion 24 0 0 rc1 X
  • 示例请求:nant-contrib 的 任务

    谁能给我提供一个示例构建文件 演示如何使用 nant contrib 任务创建 Web 应用程序项目的安装程序 这个
  • 从 URL 下载文件到服务器

    嗯 这看起来很简单 确实如此 要将文件下载到服务器 您所需要做的就是 file put contents Tmpfile zip file get contents http someurl file zip 只有一个问题 如果您有一个大文