这篇文章主要给大家介绍了关于PHP如何通过表单直接提交大文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
前言
我想通过表单直接提交大文件,django 那边我就是这么干的。而对于 php 来说,我认为尽管可以设置最大上传的大小,但最大也无法超过内存大小,因为它无法把文件内容都放到 php://input 里面。直到我试了一下。
下面话不多说了,来一起看看详细的介绍吧
试验
我创建内存 256M 的虚拟机,通过表单直接上传 2.4G 的文件,发现居然可以,挺惊讶的:
后端是 nginx + php 的方式。反正有关 php.ini 里面需要设置的给它足够大:
# pip.ini
post_max_size = 100000M
upload_max_filesize = 100000M
nginx 在 http 块中添加:
# nginx.conf
client_max_body_size 100000m;
难道 PHP 进化了?我把其他版本试了一下,发现 PHP7.0 及其以上的才能成功,5.6 的就不行了,请求会中断 。
PS : php5 不能上传大文件是因为 32 位的锅,导致上传大于 2G 的文件会有问题。
文件 4G 多的时候又不行了,不知道哪里还需要设置:
![]() |
改用apache试试
apache 我得用本地的 wamp 来。httpd.conf 需要设置:
# httpd.conf
LimitRequestBody 83886080000
apache 版本,一样得7.0以上才能直接上传大文件,但apache可以上传 4G 多的文件,不清楚为什么,难道因为我本地的内存比较大?
![]() |
本机内存 8G ,于是我试了上传个 25G 的文件,也是没问题的:
可以可以,很好很强大。
总结
我第一个感觉就是 php 变强了,既然能这么方便上传大文件了,在没有要求进度条的需求里,就可以这么来做了,还蛮方便的。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程学习网的支持。
本文标题为:PHP如何通过表单直接提交大文件详解


基础教程推荐
- TP5 连接多个数据库及使用方法 2023-08-30
- PHP实现生成数据字典功能示例 2022-10-18
- PHP使用SMTP邮件服务器发送邮件示例 2022-11-16
- PHP删除数组中指定值的元素常用方法实例分析【4种方法】 2022-11-12
- TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例 2023-01-19
- thinkPHP3.2.2框架行为扩展及demo示例 2022-11-07
- laravel model模型定义实现开启自动管理时间created_at,updated_at 2023-03-02
- PHP实现创建一个RPC服务操作示例 2023-04-01
- php中使用array_filter()函数过滤数组实例讲解 2023-05-19
- PHP数据加密方式梳理介绍 2023-07-03