【问题标题】:Empty $_FILES and $_POST when uploading big files [duplicate]上传大文件时清空 $_FILES 和 $_POST [重复]
【发布时间】:2012-09-29 02:24:32
【问题描述】:

可能重复:
Why would $_FILES be empty when uploading files to PHP?

我正在尝试上传最大为 15 兆字节的文件。
我在.htaccess 文件中的 PHP 配置:

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 300
php_value max_input_time 300

在 PHP 中,ini_get()phpinfo() 我看到了正确的值 20M。 但是当我尝试上传 10 MB 文件时,它返回空的 $_POST$_FILES 数组。 我检查了$_SERVER["CONTENT_LENGTH"] 变量,它返回给我10671561 (10.4MB),它小于20M 配置值。

我能做些什么来解决这个问题?

【问题讨论】:

    标签: php file-upload


    【解决方案1】:

    您的服务器是否配置为使用 .htaccess 文件?如果您使用的是 Apache,您应该检查您的虚拟主机配置(例如,/etc/apache2/sites-available/)并确保设置了 AllowOverride All

    【讨论】:

    • 如果我在 phpinfo() 中看到了我的 htaccess 值,它不会说明这是被覆盖了吗?
    【解决方案2】:

    您的 htaccess 代码是正确的。您可以在您的 php 文件中尝试以下代码,然后尝试。

    ini_set( 'memory_limit', '20M' );
    ini_set('upload_max_filesize', '20M');  
    ini_set('post_max_size', '20M');  
    ini_set('max_input_time', 300);  
    ini_set('max_execution_time', 300); 
    

    如果不起作用,请告诉我。

    【讨论】:

    • 你在哪个地方设置了我的密码?
    • 在控制器的构造函数中
    • 你必须使用哪个框架?
    • 因为我已经在 cakephp 和 CodeIgniter 中使用了上面的代码。并且代码完美运行。
    • 谢谢,它适用于全球空间......
    猜你喜欢
    • 2011-12-12
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 2019-11-25
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    相关资源
    最近更新 更多