• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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大文件分割分片上传实现代码
    • PHP大文件及断点续传下载实现代码
    • php实现断点续传大文件示例代码
    • PHP下载大文件失败并限制下载速度的实例代码
    • PHP超低内存遍历目录文件和读取超大文件的方法
    • 详解PHP多个进程配合redis的有序集合实现大文件去重
    • PHP大文件分片上传的实现方法
    • php下载远程大文件(获取远程文件大小)的实例
    • 详解PHP如何读取大文件
    上一篇:Laravel 队列使用的实现
    下一篇:php如何利用pecl安装mongodb扩展详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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