基于PHP怎么样实现上传多张图片,并限制大小
Admin 2022-07-07 群英技术资讯 524 次浏览
本文实例讲述了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; }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
YII2框架如何控制台命令?YII2框架是一个高性能、高效率的PHP框架,这篇文章给大家分享的是关于YII2框架使用控制台命令的方法,感兴趣的朋友可以了解一下,下面我们一起看看。
这篇文章主要介绍了Laravel5.1 框架模型远层一对多关系,结合实例形式分析了laravel5.1框架模型远层一对多关系相关原理、实现方法与操作注意事项,需要的朋友可以参考下
匿名函数(Anonymousfunctions),也叫闭包函数(closures),允许临时创建一个没有指定名称的函数。最经常用作回调函数参数的值。当然,也有其它应用的情况。Example...
今天继续开始算法练习系列内容~本文的中心的问题“编写一个PHP程序,从给定的整数数组中创建新数组,将所有偶数移到所有奇数之前”。
laravel中的异常有:1、“E_ERROR”致命运行时错误,不可恢复,会导致脚本终止不再继续运行;2、“E_WARNING”运行时警告“非致命错误”;3、“E_PARSE”编译时语法解析错误;4、“E_CORE_ERROR”初始化启动过程中发生的致命错误;5、“E_COMPILE_ERROR”致命编译时错误;6、“E_RECOVERABLE_ERROR”可被捕捉的致命错误。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008