廢話不多說,直接上附件;
HTML上傳表單代碼:
<form class="imageform" method="post" enctype="multipart/form-data" action="upload.php"> <div class="up_status" style="display:none"><img src="loader.gif" alt="uploading" /></div> <div class="btn up_btn"> <span>添加圖片</span> <input class="photoimg" type="file" name="photoimg"> </div> </form> <div class="preview_img"></div>
引入樣式和上傳插件jquery.wallform.js
<link rel="stylesheet" type="text/css" href="css/style.css" /> <script type="text/javascript" src=" <script type="text/javascript" src="jquery.wallform.js"></script>
jQuery代碼
$("body").on("change", ".photoimg",
function() {
var obj = $(this);
var imageForm = obj.parents(".imageform");
var preview_img = imageForm.next(".preview_img");
var btn = imageForm.find(".up_btn");
imageForm.ajaxForm({
target: preview_img,
beforeSubmit: function() {
imageForm.next("div.preview_img").html("");
preview_img.hide();
btn.hide();
},
success: function() {
preview_img.show();
btn.show();
},
error: function() {
btn.show();
preview_img.hide();
}
}).submit();
});PHP後耑上傳處理代碼 upload.php
if (isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") {
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
if (empty($name)) {
echo '請選擇要上傳的圖片';
exit;
}
$ext = extend($name);
if (!in_array($ext, $extArr)) {
echo '圖片格式錯誤!';
exit;
}
if ($size > (1000 * 1024)) {
echo '圖片大小不能超過1M';
exit;
}
$image_name = time() . rand(100, 999) . "." . $ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if (move_uploaded_file($tmp, $path . $image_name)) {
echo '<img src="' . $path . $image_name . '" class="preview">';
} else {
echo '上傳出錯了!';
}
exit();
}