PHP結合jquery ajax實現(xiàn)上傳多張圖片,并限制圖片大小操作示例
本文實例講述了PHP結合jquery ajax實現(xiàn)上傳多張圖片,并限制圖片大小操作。分享給大家供大家參考,具體如下:
php用jquery-ajax上傳多張圖片限制圖片大小
/** * 上傳圖片,默認大小限制為3M * @param String $fileInputName * @param number $size */ public function processUpload($fileInputName,$size=3145728) { $result = array('status'=>0, 'errcode'=>null, 'group'=>'', 'path'=>'', 'site'=>'', 'size'=>0); $file = $_FILES[$fileInputName]; //用filesize函數(shù)獲取文件大小,filesize這個內置函數(shù)不能直接放$fileInputName或者$file['name'],要用$file['tmp_name'],或者直接用$file['size'] $bytes = $file['size']; if($bytes==0 || $bytes > $size){ $result['status'] = -1; $result['size'] = $bytes; return $result; } $fileMIME = $file['type']; $originFilename = $file['name']; $tmpFileDir = C('FILE_UPLOAD_SWAP_DIR'); $fileName = CommonUtil::generateUUid(); switch ($fileMIME) { case 'image/jpeg': //jpeg jpg jpe $tmpFile = $tmpFileDir.$fileName.'.jpg'; break; case 'application/x-jpg': $tmpFile = $tmpFileDir.$fileName.'.jpg'; break; default: $result['status'] = 1; $result['group'] = $tmpFileDir.$fileName; $result['site'] = $fileMIME; return $result; } //...... }
上圖是打印出來的$file屬性
下面是控制器代碼
/** * 上傳多張圖片公共方法 * fileName 為input的name屬性 */ public function doUploadJpgMultiple() { $filename = I('get.fileName',''); $uploader = new UploadJpgUtil(); $result = $uploader->processUpload($filename); echo json_encode($result); }
下面是ajax代碼
//一個頁面上傳多張圖片 function ajaxUploadMultiple(j) { $.ajaxFileUpload({ url : base_url+"/UploadImgUtil/doUploadJpgMultiple?fileName=fileToUpload"+ j, secureuri : false, fileElementId : "fileToUpload"+ j,// file控件id type: "POST", dataType: 'json', success : function(data, status) { if (typeof (data.status) != 'undefined') { if (data.status == -1) { alert('上傳圖片不能超過規(guī)定大小'); }else if (data.status == 1) { alert('上傳圖片不是JPG格式'); }else if (data.status != 0) { alert('status='+data.status + ' errcode=' + data.errcode); } else { var fileUrl = 'http://' + data.site + '/' + data.group + '/' + data.path; $('#flatImgthumb'+ j).attr('src', fileUrl); $('#hidFlatImgthumb'+ j).val(data.group + '/' + data.path); } } }, error : function(data, status, e) { alert(e); } }); return false; }
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP+ajax技巧與應用小結》、《php文件操作總結》、《PHP圖形與圖片操作技巧匯總》、《PHP網(wǎng)絡編程技巧總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
php使用SAE原生Mail類實現(xiàn)各種類型郵件發(fā)送的方法
這篇文章主要介紹了php使用SAE原生Mail類實現(xiàn)各種類型郵件發(fā)送的方法,結合實例形式分析了SAE平臺解決郵件發(fā)送問題的相關操作技巧,需要的朋友可以參考下2016-10-10jQuery+PHP+ajax實現(xiàn)微博加載更多內容列表功能
這篇文章主要介紹了jQuery+PHP+ajax實現(xiàn)微博加載更多內容列表功能,對于微博開發(fā)來說非常實用,需要的朋友可以參考下2014-06-06PHP內部實現(xiàn)打亂字符串順序函數(shù)str_shuffle的方法
這篇文章主要給大家介紹了關于PHP內部實現(xiàn)打亂字符串順序函數(shù)str_shuffle的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-02-02PHP實現(xiàn)移除數(shù)組中為空或為某值元素的方法
這篇文章主要介紹了PHP實現(xiàn)移除數(shù)組中為空或為某值元素的方法,涉及php使用array_filter過濾數(shù)組的相關操作技巧,需要的朋友可以參考下2017-01-01解決php的“It is not safe to rely on the system’s timezone setti
這篇文章主要介紹了解決php的“It is not safe to rely on the system’s timezone settings”問題的方法,需要的朋友可以參考下2015-10-10PHP實現(xiàn)將多個文件壓縮成zip格式并下載到本地的方法示例
這篇文章主要介紹了PHP實現(xiàn)將多個文件壓縮成zip格式并下載到本地的方法,涉及php針對文件與目錄的讀寫、判斷與zip壓縮相關操作技巧,需要的朋友可以參考下2018-05-05