我正在尝试将多张照片上传到我的服务器,我让它部分工作,它会做一张照片,但它不会做每一张通过的照片。
的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”上传表单,因此页面不会重新加载)所以我需要返回该数据。所以它需要返回数据数组。尽管只有一个文件,但一切似乎都运行良好,但即使我选择多张照片,它也只会做一个。