PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例


Posted in PHP onMarch 01, 2019

本文实例讲述了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;
  }
  //......
}

PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例

上图是打印出来的$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结合jquery ajax实现上传多张图片,并限制图片大小操作示例

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

PHP 相关文章推荐
PHP中显示格式化的用户输入
Oct 09 PHP
php中用文本文件做数据库的实现方法
Mar 27 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
PHP之将POST数据转化为字符串的实现代码
Nov 03 PHP
php array_slice 取出数组中的一段序列实例
Nov 04 PHP
Linux下快速搭建php开发环境
Mar 13 PHP
在laravel中使用Symfony的Crawler组件分析HTML
Jun 19 PHP
PHP实现webshell扫描文件木马的方法
Jul 31 PHP
php异常处理捕获错误整理
Sep 23 PHP
在Laravel 的 Blade 模版中实现定义变量
Oct 14 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 #PHP
PHP中“=>
Mar 01 #PHP
PHP htmlspecialchars_decode()函数用法讲解
Mar 01 #PHP
PHP递归的三种常用方式
Feb 28 #PHP
PHP递归算法的简单实例
Feb 28 #PHP
PHP根据key删除数组中指定的元素
Feb 28 #PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 #PHP
You might like
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
php按单词截取字符串的方法
2015/04/07 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
elementUI select组件value值注意事项详解
2019/05/29 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
python中assert用法实例分析
2015/04/30 Python
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
Python中pygame的mouse鼠标事件用法实例
2015/11/11 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
幼儿园中秋节活动反思
2014/02/16 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
旅游安全协议书
2014/04/21 职场文书
法人委托书的范本格式
2014/09/11 职场文书
地方课程教学计划
2015/01/19 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
创业计划书之物流运送
2019/09/17 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python