首先,我刚遇到过ajax和jquery,我必须承认它们看起来很有趣。但是我花了很多时间弄清楚为什么上传img-s的结果总是一样的。我的想法是创建一个页面,在其中可以导入具有大小和扩展名等限制的多个图像,但由于某些原因,错误只是不打印。无论结果如何,它只会打印alert(“ Image Uploaded”)。这是我的html的ajax部分:
<script>
$(document).ready(function(){
$('#uploadForm').on('submit', function(e){
e.preventDefault();
$.ajax({
url: "upload.php",
type: "POST",
data: new FormData(this),
contentType: false,
processData:false,
success: function(data)
{
$("#gallery").html(data);
alert("Image Uploaded");
}
});
});
});
</script>
这是我只是在html文件中调用的upload.php:
<?php
//upload.php
$output = '';
if(is_array($_FILES))
{
foreach ($_FILES['files']['name'] as $name => $value)
{
$totalImageIndex = ($name+1);
$file_name = explode(".", $_FILES['files']['name'][$name]);
$file_size = $_FILES['files']['size'][$name];
$allowed_ext = array("png", "gif");
if(in_array($file_name[1], $allowed_ext))
{
if($totalImageIndex <= 5 ) {
// 2 MB is 2097152 bytes.
if($file_size < 2097152){
$new_name = $totalImageIndex . '.' . $file_name[1];
$sourcePath = $_FILES['files']['tmp_name'][$name];
$targetPath = "slike/".$new_name;
if(move_uploaded_file($sourcePath, $targetPath))
{
$output .= '<img src="'.$targetPath.'" width="150px" height="180px" />';
}
}
else { continue ; }
} else echo 'file is too big!';
} else echo 'wrong file format!';
}
echo $output;}
?>
任何想法或建议都会被采纳,谢谢您!
答案 0 :(得分:0)
在成功执行Ajax时,您将获得回传到php文件中的数据,因此,无论是取回图像还是返回错误,您都可以简单地alert(data);仅查看您在ajax代码中得到的内容,您将向警报(图像上浮)发出警报(当您收到错误数据时将始终调用该警报),因为成功只需删除该警报并仅执行alert(data),您将看到错误如果有