PHP如何通过表单直接提交大文件详解


Posted in PHP onJanuary 08, 2019

前言

我想通过表单直接提交大文件,django 那边我就是这么干的。而对于 php 来说,我认为尽管可以设置最大上传的大小,但最大也无法超过内存大小,因为它无法把文件内容都放到 php://input 里面。直到我试了一下。

下面话不多说了,来一起看看详细的介绍吧

试验

我创建内存 256M 的虚拟机,通过表单直接上传 2.4G 的文件,发现居然可以,挺惊讶的:

PHP如何通过表单直接提交大文件详解

后端是 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 多的时候又不行了,不知道哪里还需要设置:

            article             photoshop                    

改用apache试试

apache 我得用本地的 wamp 来。httpd.conf 需要设置:

# httpd.conf
LimitRequestBody 83886080000

apache 版本,一样得7.0以上才能直接上传大文件,但apache可以上传 4G 多的文件,不清楚为什么,难道因为我本地的内存比较大?

            article             photoshop                    

本机内存 8G ,于是我试了上传个 25G 的文件,也是没问题的:

PHP如何通过表单直接提交大文件详解

可以可以,很好很强大。

总结

我第一个感觉就是 php 变强了,既然能这么方便上传大文件了,在没有要求进度条的需求里,就可以这么来做了,还蛮方便的。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
Dedecms常用函数解析
Feb 01 PHP
PHP 中关于ord($str)>0x80的详细说明
Sep 23 PHP
PHP设计模式之调解者模式的深入解析
Jun 13 PHP
PHP中判断变量为空的几种方法分享
Aug 26 PHP
php利用新浪接口查询ip获取地理位置示例
Jan 20 PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
PHP异常处理浅析
May 12 PHP
UTF-8正则表达式如何匹配汉字
Aug 03 PHP
php array_values 返回数组的值实例详解
Nov 17 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
Oct 11 PHP
Laravel 队列使用的实现
Jan 08 #PHP
laravel 框架配置404等异常页面
Jan 07 #PHP
PHP array_shift()用法实例分析
Jan 07 #PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 #PHP
PHP一个简单的无需刷新爬虫
Jan 05 #PHP
PHP智能识别收货地址信息实例
Jan 05 #PHP
PHP数字金额转换成中文大写显示
Jan 05 #PHP
You might like
PHP 编写大型网站问题集
2010/05/07 PHP
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
PHP写的资源下载防盗链类分享
2014/05/12 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
vue.js的提示组件
2017/03/02 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
python rolling regression. 使用 Python 实现滚动回归操作
2020/06/08 Python
Python字符串三种格式化输出
2020/09/17 Python
纯css3实现走马灯效果
2014/12/26 HTML / CSS
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
南京某软件公司的.net面试题
2015/11/30 面试题
大专自我鉴定范文
2013/10/01 职场文书
外国语学院毕业生自荐信
2013/10/28 职场文书
单位领导证婚词
2014/01/14 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
股份转让协议书
2014/04/12 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
开业庆典活动策划方案
2014/09/21 职场文书
学习经验交流会总结
2015/11/02 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android