我真的需要帮助,因为这一直给我带来了问题。我只需要从4个输入字段上传图像。但只有上一个输入字段的图像才会上传CODE(上传图片的功能):
function loadImage($file){
$valid_types = array('jpg','jpeg','png');//allowed img extensions
$ext = strtolower(end(explode('.', $file['name'])));
$size = $file['size'];
if(in_array($ext, $valid_types)){
if($size < (2097152)){
$image_path = substr(md5(time()), 0, 10).'.'.$ext;
if(move_uploaded_file($file['tmp_name'] , "../props/".$image_path)){
return $image_path;
}else{
echo "error";
}
}else{
echo "Image must be less than 2mb";
}
}else{
//echo "image has an invalid file format";
}
}
调用上传功能的代码
$img1 = isset($_FILES['img1']) ? loadImage($_FILES['img1']) : NULL ;
$img2 = isset($_FILES['img2']) ? loadImage($_FILES['img2']) : NULL ;
$img3 = isset($_FILES['img3']) ? loadImage($_FILES['img3']) : NULL ;
$img4 = isset($_FILES['img4']) ? loadImage($_FILES['img4']) : NULL ;
jquery ajax代码:
formdata.append('img1', img1);
formdata.append('img2', img2);
formdata.append('img3', img3);
formdata.append('img4', img4);
$.ajax({
url : 'core/upload.php',
type : 'POST',
data : formdata,
contentType : false,
processData : false,
success : function (ep){
alert(ep);
//$('#say').html(ep);
}
});
答案 0 :(得分:0)
它现在可以正常工作,而不仅仅是通过jquery,而是通过直接用php正常处理表单。这就是我的循环看起来像
for($i=0; $i<count($_FILES['img']['name']); $i++){
$target_path = "../props/";
$ext = strtolower(end(explode('.', $_FILES['img']['name'][$i])));
$target_path = $target_path . md5(uniqid()) . "." . $ext;
if(move_uploaded_file($_FILES['img']['tmp_name'][$i], $target_path)) {
echo "The file has been uploaded successfully <br />";
} else{
echo "There was an error uploading the file, please try again! <br />";
}
}
但任何人都可以帮忙解决如何通过jquery以及其他文本输入和复选框字段发送它?问题来自于我如何将它从jquery发送到php。