php多图像上传器无法正常工作

时间:2012-08-25 20:30:39

标签: php file-upload foreach

我正在尝试将多张照片上传到我的服务器,我让它部分正常工作,它会拍一张照片,但它并没有拍完每张照片。

HTML:

 <form>
 <input type="file" name="uploadFile"  class="upload" multiple="true" onChange="galleryUpload(this.form,'ajax/add/gallery_photos.php'); return false;"/>
</form>

PHP:

$photos = array();

$i = 0;
foreach($_FILES as $file) 
{

$fileArr = explode("." , $file["name"]);
$ext = strtolower($fileArr[count($fileArr)-1]);

$allowed = array("jpg", "jpeg", "png", "gif", "bmp");

if (in_array($ext, $allowed)){

$source = $file['tmp_name'][$i++];

$path = "../../photos/";
$filename = uniqid();


//Crop photo etc..


if(move_uploaded_file($_FILES['uploadFile']['tmp_name'], "$path/$filename.jpg"))
{

$photos[] = array(
'photoID' => $photoID,
'URL' => $filename
);

}

}

}

echo json_encode($photos);

如您所见,我还返回上传照片的json数据,因此我可以使用jQuery管理它们(这是一种“ajax”上传表单,因此页面不会重新加载)所以我需要返回数据。所以它需要返回数据数组。只用一个文件,一切似乎都运行正常,但即使我选择了多张照片,它也只会做一个。

1 个答案:

答案 0 :(得分:1)

更改您的名称属性在输入元素上:

name="uploadFile"

要:

name="uploadFile[]"

只有一个文件被插入$ _FILES数组