PHP一次只能看到20个上传文件 [英] PHP see only 20 uploading files at a time
问题描述
当我尝试一次上传20个以上的文件时,Web服务器只会看到前20个文件.其他任何文件都将被忽略.有什么问题吗?
When I try to upload more than 20 files at a time, then the web server see only first 20. Any other files are just ignored. What is the problem?
尝试的简单代码:
<form action="index.php" method="post" enctype="multipart/form-data">
<?php
if($_FILES){
print_r($_FILES);
}
else{
for($i = 0; $i < 30; $i++)
{
echo '<input type="file" name="file'.$i.'"><br/>';
}
}
?>
<input type="submit" value="go">
</form>
print_r()
输出:
Array ( [file0] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpD42.tmp [error] => 0 [size] => 274217 ) [file1] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpD52.tmp [error] => 0 [size] => 274217 ) [file2] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpD73.tmp [error] => 0 [size] => 274217 ) [file3] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpD83.tmp [error] => 0 [size] => 274217 ) [file4] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpD94.tmp [error] => 0 [size] => 274217 ) [file5] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpDB4.tmp [error] => 0 [size] => 274217 ) [file6] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpDC5.tmp [error] => 0 [size] => 274217 ) [file7] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpDE5.tmp [error] => 0 [size] => 274217 ) [file8] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpDF5.tmp [error] => 0 [size] => 274217 ) [file9] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpE06.tmp [error] => 0 [size] => 274217 ) [file10] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpE26.tmp [error] => 0 [size] => 274217 ) [file11] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpE37.tmp [error] => 0 [size] => 274217 ) [file12] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpE57.tmp [error] => 0 [size] => 274217 ) [file13] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpE68.tmp [error] => 0 [size] => 274217 ) [file14] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpE78.tmp [error] => 0 [size] => 274217 ) [file15] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpE98.tmp [error] => 0 [size] => 274217 ) [file16] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpEB9.tmp [error] => 0 [size] => 274217 ) [file17] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpEC9.tmp [error] => 0 [size] => 274217 ) [file18] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpEE9.tmp [error] => 0 [size] => 274217 ) [file19] => Array ( [name] => 39442.jpg [type] => image/jpeg [tmp_name] => W:\tmp\phpEFA.tmp [error] => 0 [size] => 274217 ) )
.htaccess: php_value max_file_uploads 100-没有帮助
.htaccess: php_value max_file_uploads 100 - doesn't help
ini_set('max_file_uploads', 100) - doesn't help
我刚刚将行添加到本地服务器上的php.ini中:
I just added line to php.ini on my local server :
max_file_uploads = 100
这很有帮助.但是我不认为托管者会在客户端的Web服务器上对其进行更改.如果不编辑php.ini
,对这个值将是非常酷的效果.
And it's helped. But I don't think that the hoster change it on client's web server. It would be very cool effect on this value without editing php.ini
.
推荐答案
设置最大文件上传设置(是的,这是新的"设置).
Set the max-file-uploads setting higher (yes, it's a 'newish' setting).
它是 PHP_INI_SYSTEM ,因此可以在以下位置进行设置php.ini或webserver/apache配置.恐怕没有.htaccess
或脚本内"访问权限.
It's PHP_INI_SYSTEM, so it can either be set in php.ini or webserver/apache configuration. No .htaccess
or 'in-script' access I'm afraid.
这篇关于PHP一次只能看到20个上传文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!