เมื่อมี html5 เข้ามา ทำให้การแสดงตัวอย่าง รูปภาพ ก่อนการอัพโหลด
ทำได้โดยง่าย โค้ดตัวอย่างนี้ เป็นการประยุกต์เล็กน้อย จากโค้ดหลายๆ ที่
มารวมกัน ต้ดความสามารถที่ยังไม่สมบูรณ์ออก
สิ่งที่ตัวอย่างทำได้คือ แสดงตัวอย่างไฟล์รูปภาพที่เลือกก่อน ทำการอัพโหลด
สามารถเลือกไฟล์ ที่จะอัพโหลดได้หลายๆ ไฟล์ โดยกด ctrl หรือ shift เพื่อเลือกรายการรูปภาพ
ตัวอย่าง
บันทึกข้อมูล
ไฟล์ show_data.php ดูผลตัวอย่างการส่งค่า รับค่าตัวแปร $_FILES ไปใช้
<pre> <?php print_r($_POST); echo "<br>"; echo "<br>"; print_r($_FILES); ?> </pre>
ไฟล์ index.html ไฟล์โค้ดตัวอย่าง
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<style type="text/css">
.drop-area{
width:100px; height:25px;
border: 1px solid #999; text-align: center;
padding:10px; cursor:pointer;
}
#thumbnail img{width:100px;height:100px;margin:5px;}
canvas{border:1px solid red;}
</style>
</head>
<body>
<br>
<div style="margin:auto;width:80%;">
<h3> บันทึกข้อมูล</h3>
<form class="form" id="myFrom" method="post" action="show_data.php" role="form" enctype="multipart/form-data">
<div class="form-group">
<lable class="control-label">Name : </lable>
<input type="text" autocomplete="off" class="form-control" name="name">
</div>
<div class="form-group">
<lable class="control-label">Picture : </lable>
<input id="file_upload" style="display:none" name="file_upload[]" type="file" multiple="true">
<div id="upload" class="btn btn-info">
Upload File
</div>
<div id="thumbnail"></div>
</div>
<button type="submit" class="btn btn-primary">เพิ่มข้อมูล</button>
</form>
<br>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" >
$(function () {
$("#upload").on("click",function(e){
$("#file_upload").show().click().hide();
e.preventDefault();
});
$("#file_upload").on("change",function(e){
var files = this.files
showThumbnail(files)
});
function showThumbnail(files){
$("#thumbnail").html("");
for(var i=0;i<files.length;i++){
var file = files[i]
var imageType = /image.*/
if(!file.type.match(imageType)){
// console.log("Not an Image");
continue;
}
var image = document.createElement("img");
var thumbnail = document.getElementById("thumbnail");
image.file = file;
thumbnail.appendChild(image)
var reader = new FileReader()
reader.onload = (function(aImg){
return function(e){
aImg.src = e.target.result;
};
}(image))
var ret = reader.readAsDataURL(file);
var canvas = document.createElement("canvas");
ctx = canvas.getContext("2d");
image.onload= function(){
ctx.drawImage(image,100,100)
}
} // end for loop
} // end showThumbnail
});
</script>
</body>
</html>