我想上传两个文件。 这是脚本
<?
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()?
答案 0 :(得分:4)
您的网络服务器可能会设置限制;例如,您可以设置一个Apache LimitRequestBody指令,该指令可以阻止上传大文件。
答案 1 :(得分:2)
检查您的php.ini文件,看看是否有最大上传大小的设置。您可能无法在PHP脚本中覆盖该设置。
答案 2 :(得分:1)
Web服务器还控制(限制)上载大小。您应该验证Web服务器配置中的最大上载大小。
最诚挚的问候, 唐
答案 3 :(得分:1)
要验证网络服务器配置,请使用以下代码创建一个php文件:
<?php
phpinfo();
?>
这将告诉你我相信Don正在谈论的所有配置。将其上传到您的服务器,然后在浏览器中运行。
答案 4 :(得分:1)
上一个问题中的人错了。 upload_max_filesize
和post_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
就是这样。