佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > PHP結(jié)合jquery ajax實(shí)現(xiàn)上傳多張圖片,并限制圖片大小操作示例

PHP結(jié)合jquery ajax實(shí)現(xiàn)上傳多張圖片,并限制圖片大小操作示例

熱門標(biāo)簽:服務(wù)器配置 銀行業(yè)務(wù) Linux服務(wù)器 Mysql連接數(shù)設(shè)置 團(tuán)購網(wǎng)站 阿里云 電子圍欄 科大訊飛語音識別系統(tǒng)

本文實(shí)例講述了PHP結(jié)合jquery ajax實(shí)現(xiàn)上傳多張圖片,并限制圖片大小操作。分享給大家供大家參考,具體如下:

php用jquery-ajax上傳多張圖片限制圖片大小

/**
 * 上傳圖片,默認(rèn)大小限制為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這個(gè)內(nèi)置函數(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代碼

//一個(gè)頁面上傳多張圖片
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;
}

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP+ajax技巧與應(yīng)用小結(jié)》、《php文件操作總結(jié)》、《PHP圖形與圖片操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • 基于Spring Boot利用 ajax實(shí)現(xiàn)上傳圖片功能
  • JavaScript實(shí)現(xiàn)圖片上傳并預(yù)覽并提交ajax
  • jquery+ajax實(shí)現(xiàn)上傳圖片并顯示上傳進(jìn)度功能【附php后臺接收】
  • thinkPHP利用ajax異步上傳圖片并顯示、刪除的示例
  • Ajax實(shí)現(xiàn)圖片上傳并預(yù)覽功能
  • ajax實(shí)現(xiàn)上傳圖片保存到后臺并讀取的實(shí)例
  • php+ajax+h5實(shí)現(xiàn)圖片上傳功能
  • php+ajax實(shí)現(xiàn)異步上傳文件或圖片功能
  • 基于ajax實(shí)現(xiàn)上傳圖片代碼示例解析

標(biāo)簽:衡水 衢州 廣元 萍鄉(xiāng) 蚌埠 大理 江蘇 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP結(jié)合jquery ajax實(shí)現(xiàn)上傳多張圖片,并限制圖片大小操作示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    枞阳县| 云和县| 青铜峡市| 清新县| 建阳市| 漯河市| 永泰县| 洛南县| 卢氏县| 奎屯市| 拜泉县| 商水县| 镇雄县| 调兵山市| 华亭县| 呼伦贝尔市| 库伦旗| 建湖县| 桐城市| 沭阳县| 长乐市| 建德市| 定远县| 锡林郭勒盟| 南康市| 宣城市| 集安市| 岳普湖县| 新田县| 仙桃市| 东平县| 阿拉尔市| 遂宁市| 靖江市| 罗平县| 清河县| 井冈山市| 全州县| 绵阳市| 拉萨市| 贞丰县|