2016-01-13 97 views
-1

所以,就像我即将启动该网站。我遇到了一个相当大的bug ... 我想让用户上传文件(图片),但我发现你不能上传超过4个文件。所以,我将代码分开并简化了它。一个简单的打印语句显示上传的文件总数(数组元素)。你猜怎么着 ?它只上升到3.之后,甚至没有执行print语句,因为isset($_FILES['files'])原来是文件> 4没有被上传[PHP]

这里的形式我使用的:

<form method="post" action="submit.php" enctype="multipart/form-data"> 
    <input type="file" name='files[]' multiple='multiple'> 
    <input type="submit" name="submit" value="Upload"> 
</form> 

这里的PHP脚本处理上载:

if(isset($_FILES['files'])) { 
    foreach ($_FILES['files']['name'] as $key => $name) { 
     print $key; 

     //the uploading process... 
    } 
} 

仅打印$key高达3(0 ,1,2,3)。这意味着超过4个文件甚至没有上传。有任何想法吗 ?

+1

收到的文件数取决于文件大小?你是否尝试上传较小的文件? – Psyhos

+0

@Psyhos不,它不依赖于文件大小。至少不是我试图调试的这个原型。我检查了我的php.ini,最大文件上传大小为64米。而且,为什么我得到了否定的投票?这个问题是合法的:( – candh

+0

请检查,在$ _FILES'是否有任何错误:'if(isset($ _ FILES ['files'])){echo'

' .print_r($_FILES) . '
';}' – Psyhos

回答

0

检查php.ini中max_file_uploads的值。它可以通过简单地更改为:max_file_uploads = 15来增加。

+0

它已经设置为20 :)任何其他的想法? PS:我在另一台机器上测试过这个问题,但问题仍然存在。 – candh

+1

@candh检查您的浏览器尝试不同的方式,然后在Chrome的网络选项卡中进行调试。 – VeeeneX

+0

检查Firefox,Chrome ...和另一台机器上。大声笑。这是很奇怪的行为.. – candh