• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
聪聪451 显示全部楼层 发表于 2021-10-26 13:34:29 |阅读模式 打印 上一主题 下一主题
前言
我想通过表单直接提交大文件,django 那边我就是这么干的。而对于 php 来说,我以为尽管可以设置最大上传的大小,但最大也无法超过内存大小,由于它无法把文件内容都放到 php://input 内里。直到我试了一下。
下面话不多说了,来一起看看具体的介绍吧
试验

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

后端是 nginx + php 的方式。反正有关 php.ini 内里须要设置的给它富足大:
  1. # pip.ini
  2. post_max_size = 100000M
  3. upload_max_filesize = 100000M
复制代码
nginx 在 http 块中添加:
  1. # nginx.conf
  2. client_max_body_size 100000m;
复制代码
岂非 PHP 进化了?我把其他版本试了一下,发现 PHP7.0 及其以上的才能乐成,5.6 的就不行了,请求会中断 。
PS : php5 不能上传大文件是由于 32 位的锅,导致上传大于 2G 的文件会有题目。
文件 4G 多的时间又不行了,不知道哪里还须要设置:
                 article                       photoshop                        

改用apache试试
apache 我得用本地的 wamp 来。httpd.conf 须要设置:
  1. # httpd.conf
  2. LimitRequestBody 83886080000
复制代码
apache 版本,一样得7.0以上才能直接上传大文件,但apache可以上传 4G 多的文件,不清楚为什么,岂非由于我本地的内存比力大?
                 article                       photoshop                        

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

可以可以,很好很强大。
总结

我第一个感觉就是 php 变强了,既然能这么方便上传大文件了,在没有要求进度条的需求里,就可以这么来做了,还蛮方便的。
好了,以上就是这篇文章的全部内容了,希望本文的内容对各人的学习或者工作具有一定的参考学习代价,假如有疑问各人可以留言交换,谢谢各人对草根技术分享的支持。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作