[jQuery] AJAX 上傳檔案 plugin
使用這個 plugin 可以實現 ajax form 上傳檔案的功能,可以讓使用者在上傳檔案的過程不會因為轉頁而影響使用者經驗。
html 部分:
另外在 upload.php 處理上傳的檔案。
參考: AJAX Upload File 範例,透過 jQuery Form Plugin 上傳檔案或圖片
html 部分:
- <form action="upload.php" method="post" id="ajaxForm">
- <input type="file" id="pic" name="pic"><br>
- <button id="go_ajs" type="button">上傳</button>
- </form>
- 圖片:
- <br>
- <img src="" id="uploadImg" alt="" />
- <script>
- // $("#go_ajs").click(ajs_upload);
- // 直接 change 就上傳
- $("#pic").change(ajs_upload);
- function ajs_upload(){
- $("#ajaxForm").ajaxSubmit(
- {
- beforeSubmit: function(){},
- success: function(resp,st,xhr,$form) {
- if(resp!="err") {
- $("#uploadImg").attr("src",resp);
- }
- }
- });
- }
另外在 upload.php 處理上傳的檔案。
- $cover = $_FILES["pic"];
- $fileid= "pic_name_".rand(100,999);
- if($cover["error"]>0) {
- echo "err";
- }
- else
- {
- // Get the extension name by uploaded filename
- $extName = substr( $cover["name"],strrpos($cover["name"],".") );
- // check the file type is image
- $isImage = getimagesize ($cover["tmp_name"]) ;
- // only jpg or png file name ( or custom by yourself)
- if($isImage and ($extName==".jpg" or $extName==".png") ) {
- if( move_uploaded_file($cover["tmp_name"], $fileid.$extName) )
- {
- echo $fileid.$extName;
- // print the filename if success
- } else {
- echo "err";
- // move upload file failed
- }
- } else {
- echo "err";
- // err file type
- }
- }
參考: AJAX Upload File 範例,透過 jQuery Form Plugin 上傳檔案或圖片
留言