php实时上传多张图片,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;

}

//......

}

15514169601C55141oyw6960.png

上图是打印出来的$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;

}

15514169601I9551T416Q960.png

希望本文所述对大家PHP程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值