PHP:使用具有相同名称的<input type =“file”/>上传多张照片

时间:2012-09-28 04:59:53

标签: php file-upload

我尝试使用

上传多张照片
<input type='file'>

与输入元素的名称相同,如

<?php
$remainGal  =   $maxGallery-$totalGallery;
if($remainGal>0){
?>
<div class="businessSPGItems">
<form name="addBusinessGallery" method="post" action="businessservices.php#messageGallery" enctype="multipart/form-data">
<input type="hidden" name="businessID" value="<?php echo $businessID;?>" />
<?php
for($i=0; $i<$remainGal; $i++){
?>
<input type="file" name="filePhotos[]" style="margin-top:5px;" tabindex="<?php echo $i+5; ?>" /><br />
<?php
}
?>
<input type="submit" name="btnAddGallery" value="Add" style="margin-top:10px;" tabindex="<?php echo $i+5; ?>" />
</form>
</div>
<?php
}
?>

但问题是,当我获取文件元素的总数时,它总是显示5 ... 即,

<?php 
$photos     =   $_FILES["filePhotos"];
echo count($photos);
?>

所以我一次无法上传超过5张照片.... 我不知道我在做正确的方法.. 请帮忙,, 感谢...

1 个答案:

答案 0 :(得分:1)

您的$_FILES["filePhotos"];会有一系列值。

阅读:http://php.net/manual/en/features.file-upload.multiple.php

  

...数组$ _FILES ['userfile'],$ _FILES ['userfile'] ['name'],   和$ _FILES ['userfile'] ['size']将被初始化...   这些中的每一个都是适当的数字索引数组   提交文件的值。

$_FILES["filePhotos"]["name"][0];
$_FILES["filePhotos"]["name"][1];
$_FILES["filePhotos"]["name"][2];
$_FILES["filePhotos"]["name"][3];
$_FILES["filePhotos"]["name"][4];

另请注意,上传限制配置值。 http://php.net/manual/en/ini.core.php#ini.max-file-uploads

  

允许同时上传的最大文件数。   从PHP 5.3.4开始,上传字段在提交时留空   计入此限制。

默认为20。