无法上传更大的50MB

时间:2010-04-09 18:45:25

标签: php

我想上传两个文件。 这是脚本

<?
    ini_set('memory_limit', "400M");
    ini_set('file_uploads', "5");
    ini_set('max_execution_time', "900");
    ini_set('upload_max_filesize', "400M");
    ini_set('post_max_size', "400M");
?>
<form action="form.php" method="post" enctype="multipart/form-data" />
<input type="file" name="video"  />
<input type="file" name="picture" >
<input type="submit"  class="input" value="Հիշել" />
</form>

form.php的:

    <?
ini_set('memory_limit', "400M");
ini_set('file_uploads', "5");
ini_set('max_execution_time', "900");
ini_set('upload_max_filesize', "400M");
ini_set('post_max_size', "400M");
        print_r($_FILES);
       //returns Array ( )
    ?>

我已经问过这个问题here了,我已经设置了ini_set(...),但是 当我尝试上传大于 50MB 的文件时,它不会发生。 你能告诉我为什么吗?

更新

是的,你是对的 我打印phpinfo(),它显示,upload_max_filesize仍然是10MB。但是,为什么,如果我写了ini_set()?

8 个答案:

答案 0 :(得分:4)

您的网络服务器可能会设置限制;例如,您可以设置一个Apache LimitRequestBody指令,该指令可以阻止上传大文件。

答案 1 :(得分:2)

检查您的php.ini文件,看看是否有最大上传大小的设置。您可能无法在PHP脚本中覆盖该设置。

答案 2 :(得分:1)

Web服务器还控制(限制)上载大小。您应该验证Web服务器配置中的最大上载大小。

最诚挚的问候, 唐

答案 3 :(得分:1)

要验证网络服务器配置,请使用以下代码创建一个php文件:

<?php
phpinfo();
?>

这将告诉你我相信Don正在谈论的所有配置。将其上传到您的服务器,然后在浏览器中运行。

答案 4 :(得分:1)

上一个问题中的人错了。 upload_max_filesizepost_max_size被标记为PHP_INI_PERDIR

upload_max_filesize     "2M"    PHP_INI_PERDIR      PHP_INI_ALL in PHP <= 4.2.3.
post_max_size   "8M"    PHP_INI_PERDIR      PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.0.3.

- PHP手册,Description of core php.ini directives

无法使用PHP_INI_PERDIR更改

ini_set

  

可以在php.ini,.htaccess中设置条目   或httpd.conf

- PHP手册页“Where a configuration setting may be set

使用他的其他方法来改变值。

答案 5 :(得分:1)

你不能简单地ini_set所有php配置变量,其中一些应该在处理任何php文件之前设置。

您可以在php.ini.htaccess中更改它们:

<IfModule mod_php5.c>
  php_value post_max_size 50M
  php_value upload_max_filesize 50M
</IfModule>

答案 6 :(得分:0)

在某些Web服务器中,会忽略一些ini_set()值。请与您的主机联系,有时他们会允许您上传自定义php.ini文件,其中包含您需要的最大上传大小。

答案 7 :(得分:0)

在/ public_html /文件夹中创建一个php.ini文件,如果它已经存在则编辑它们。

post_max_size = 128M
upload_max_filesize = 128M

就是这样。