PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
程序员文章站
2022-05-14 14:22:45
本文实例讲述了php结合jquery ajax实现上传多张图片,并限制图片大小操作。分享给大家供大家参考,具体如下:
php用jquery-ajax上传多张图片限制图片大...
本文实例讲述了php结合jquery ajax实现上传多张图片,并限制图片大小操作。分享给大家供大家参考,具体如下:
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函数获取文件大小,filesize这个内置函数不能直接放$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('上传图片不能超过规定大小'); }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网络编程技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家php程序设计有所帮助。