01/10/2018, 01:06
Hỏi về cách Upload nhiều ảnh lên cùng một trang web
Có ace nào biết cách để người dùng có thể upload nhiều ảnh lên trên cùng một trang web được ko, và mỗi lần up thì không được chồng lên nhau? Mình bị lỗi chỉ up được 1 ảnh thôi, làm ơn giúp mình với…Thank nhiều!!!
Bài liên quan
Ý bạn là sao nhỉ?
Nếu muốn dùng thư viện thì bạn có thể tham khảo PLUpload(có cả 3 version: js, flash, silverlight),… và nhiều thư viện khác nữa. Còn vụ không chồng thì phía server, bạn check tên, nếu chưa có thì thôi, nếu có rồi thì thêm các ký tự vào (như1,2,3 hoặc Ymdhis, … hoặc token nào đó)
Nếu tự viết thì search multiupload, có nhiều tutorial trên mạng.
Bạn làm theo các bước sau (kiểu AJAX nhé):
Tạo the input, canvas:
<input type="file" id="IMAGE" multiple> <canvas id="myCanvas" style="border:10px solid #d3d3d3;"> Your browser does not support the HTML5 canvas tag. </canvas>
Nạp data ảnh vô Canvas, cái này bạn phải tìm hiểu về
new FileReader
trong Javascript nhé.Post thông qua AJAX:
$.post( 'upload.php', { suggest:JSON.stringify(dataImage) } ).done( function( data ){ console.log( data ) if(data){ console.log('Upload complete!'); }else{ console.log('Upload failed!'); } });
Trong file upload.php : file nhận data hình ảnh bạn gửi qua AJAX trên và decode nó lại:
lưu thành file.jpg or file.png tùy ý theo hàm PHP sau:
$data=base64_decode(preg_replace('#^data:image/\w+;base64,#i','',$base64IMG));
Trong đó:
$base64IMG
là biến PHP nhận dữ liệu gửi lên qua AJAX.Tiếp theo lưu vào thư mục trên Server:
$savedCheck=file_put_contents($destinate.'/'.$filename,$data);
Xong!
Nếu có gì bạn liên hệ mình giúp cho: https://www.facebook.com/truongvinh.lo