【问题标题】:how to dynamically change the max upload file limit in php?如何动态更改php中的最大上传文件限制?
【发布时间】:2011-02-15 22:12:22
【问题描述】:

我想动态更改最大上传文件限制。意味着不更改服务器上的 php.ini 文件。
每当用户上传超过 2 mb 时,我的上传限制就应该改变。
我想通过 php 来完成这一切。

提前致谢。

【问题讨论】:

    标签: php file-upload


    【解决方案1】:

    upload_max_filesize 强制执行的限制是在 php 脚本运行之前强制执行的,因此无法使用 ini_set 动态更改设置。

    有关文件上传 ini 设置以及可以更改的位置的更多信息,请参阅: - http://php.net/manual/en/ini.core.php#ini.sect.file-uploads - http://php.net/manual/en/configuration.changes.modes.php

    假设您所说的“用户”是指您网站的访问者,实际上只有两种方法可以在文件到达其最终目的地的情况下实施这样的限制:

    1) 上传之前:在客户端。您绝对可以使用基于 java 的上传器来执行此操作。是否可以使用javascript获取所选文件的文件大小,我不知道。

    2) 文件上传到服务器之后,但在将其移动到最终目的地之前(在运行 move_uploaded_file 之前)

    【讨论】:

      【解决方案2】:

      试试这个:

      ini_set('upload_max_filesize', your_value_here);
      

      还要确保您已为以下各项指定了正确的可接受设置:

      • file_uploads
      • upload_max_filesize
      • max_input_time
      • memory_limit
      • max_execution_time
      • post_max_size

      【讨论】:

        【解决方案3】:

        如果您无法修改 php.ini,您可以使用 .htaccess 文件进行修改:

        php_value upload_max_filesize 50M
        php_value post_max_size 50M
        

        【讨论】:

          猜你喜欢
          • 2011-02-19
          • 2017-08-01
          • 2022-12-21
          • 2012-11-01
          • 1970-01-01
          • 2011-09-28
          • 2011-12-05
          • 2015-11-29
          • 2011-10-23
          相关资源
          最近更新 更多