亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > thinkphp5 框架結合plupload實現圖片批量上傳功能示例

thinkphp5 框架結合plupload實現圖片批量上傳功能示例

熱門標簽:南京3D地圖標注 重慶外呼電銷系統多少錢 正規電銷機器人系統 邢臺400電話辦理 辦理400電話哪家好點 濟源百應電銷機器人聯系方式 南寧電話外呼系統線路 嘟嘟云外呼系統 咸陽電銷

本文實例講述了thinkphp5 框架結合plupload實現圖片批量上傳功能。分享給大家供大家參考,具體如下:

在extend目錄下新增目錄uploader,并新建類Uploads

?php
namespace uploader;
 
class Uploads {
 public static function upfile($file, $path = 'images', $add_domain = false) {
  $res = ['errno' => 1, 'errmsg' => '上傳圖片錯誤'];
  $data = '';
  if(!empty($file)) {
   // 上傳根目錄
   $file_path = 'uploads/';
   // 如果傳了路徑過來,則加入路徑
   if(!empty($path)) {
    $file_path .= $path .'/';
   }
   if (!file_exists($file_path)) {
    @mkdir($file_path);
   }
   // 上傳
   $info = $file->move($file_path);
   // 獲取后綴
   $ext = strtolower($info->getExtension());
   //判斷后綴是否合法
   $exts = ['jpg', 'png', 'gif', 'jpeg', 'mp4', 'avi', '3gp'];
   if(in_array($ext, $exts)) {
    $save_name = $info->getSaveName();
    $save_path = "/" . $file_path . $save_name;
    if($add_domain) {
     $save_path = "http://www.localhost.com/" . $file_path . $save_name;
    } 
    $res = ['errno' => 0, 'data' => $save_path];
   } else {
    $res = ['errno' => 1, 'errmsg' => $ext];
   }
  } else {
   $res = ['errno' => 1, 'errmsg' => '請選擇圖片!'];
  }
  
  return $res;
 }
}
?>

使用

?php
 
namespace app\backend\controller;
 
use think\Controller;
use think\Request;
use uploader\Uploads;
 
class Upload extends Controller
{
 public function upload(Request $request) {
  $files = $request->file("file");
  $updir = $request->post('updir');
  $res = Uploads::upfile($files, $updir);
  return json_encode($res);
 }
 
 public function del_upload(Request $request) {
  $res = ['errno' => 1, 'errmsg' => '刪除失敗'];
  $filename = $request->post('filename');
  if(!empty($filename)) {
   @unlink($_SERVER['DOCUMENT_ROOT'] . $filename);
   $res = ['errno' => 0, 'errmsg' => $filename];
  }
  return json_encode($res);
 }
 
}
 
?>

前端js

var image_files = new Array(); // 多圖片上傳臨時保存
$(document).ready(function() {
 $('.media-picker').each(function() {
  var el = $(this);
  var elbtn = el.find('.media-picker-button');
  var multi_selection = false;
  var inputField = el.find('input[type=hidden]');
  // 是否多文件上傳
  if(elbtn.attr('data-multiple') == 'multiple') {
   multi_selection = true;
  }
  // 上傳目錄
  var upload_path = inputField.attr('upload-path');
  var uploader = new plupload.Uploader({
   runtimes : 'html5,flash,silverlight,html4',
   browse_button : elbtn.attr('data-id') + '_uploader', 
   multi_selection: multi_selection,
   auto_start: true,
   flash_swf_url : '../plugins/plupload/js/Moxie.swf',
   silverlight_xap_url : '../plugins/plupload/js/Moxie.xap',
   url : '/backend/upload',
   
   filters: {
    mime_types : [ //只允許上傳圖片和zip,rar文件
    { title : "Image files", extensions : "jpg,jpeg,gif,png,bmp" }, 
    { title : "Video files", extensions : "mp4,3gp" }
    ],
    max_file_size : '10mb', //最大只能上傳10mb的文件
    prevent_duplicates : false //不允許選取重復文件
   },
 
   init: { 
    PostInit: function() {},
 
    BeforeUpload: function(up, file) {
     up.setOption('multipart_params', {'updir': upload_path})
    },
 
    FilesAdded: function(up) {
     up.start(); //選擇完后直接上傳
    },
 
    FileUploaded: function(up, file, info) {
     if (info.status == 200)
     {
      var file_type = file.type;
      var is_image = file_type.indexOf('image');
      var is_video = file_type.indexOf('video');
      // 解析返回的數據
      var result = JSON.parse(info.response);
      var img_list = "";
      if(result.errno == 0) {
       // 返回的圖片上傳結果
       var file_name = result.data; 
       if(multi_selection) {
        // 多圖片上傳不考慮視頻
        if (is_image > -1) {
         // 存入臨時數組
         image_files.push(file_name);
         inputField.val(JSON.stringify(image_files));
         for (var i = 0; i  image_files.length; i++) {
          img_list += "li>img src='"+image_files[i]+"' />span class='delete-image'>✖/span>p>"+image_files[i]+"/p>/li>";
         }
        }
       } else {
        inputField.val(file_name);
        if (is_image > -1) {
         img_list = "li>img src='"+result.data+"' />span class='delete-image'>✖/span>p>"+result.data+"/p>/li>";
        }
        if (is_video > -1) { 
         img_list = "li>video controls src='"+result.data+"'>/video>span class='delete-image'>✖/span>p>"+result.data+"p>/li>";
        }
       }
       el.find('.image-list').html(img_list);
      } else {
       alert(result.errmsg);
      }
     }
     else
     {
      alter(info.response);
     } 
    },
 
    Error: function(up, err) {
     alert(err.response);
    }
   }
  })
  uploader.init();
 
 
  // 刪除
  if (multi_selection) {
   el.on('click', '.delete-image', function() {
    var file_name = inputField.val();
    var elDel = $(this);
    // 得到filename
    var current_file_name = elDel.next('p').html();
    // 刪除當前的父級li
    elDel.parent().remove();
    // 重新賦值數組
    var new_image_files = new Array();
    if (image_files != '') {
     new_image_files = image_files;
    } else {
     new_image_files = $.parseJSON(file_name);
    }
    // 去掉數組中的當前值
    for(var i in new_image_files) {
     if(new_image_files[i] == current_file_name) {
      new_image_files.splice(i,1);
      break;
     }
    }
    $.ajax({
      type: "POST",
      url: "/backend/del_upload",
      data: "filename=" + current_file_name,
      success: function(msg) {
        console.log(msg)
      }
    });
    inputField.val(JSON.stringify(new_image_files));
   });
  } else {
   el.on('click', '.delete-image', function(){
    // 顯示值為空
    var file_name = inputField.val();
    el.find('.image-list').html('');
    inputField.val('');
    $.ajax({
     type: "POST",
     url: "/backend/del_upload",
     data: "filename=" + file_name,
     success: function(msg) {
       console.log(msg)
     }
    });
   });
  }
 })
})

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • Spring-boot結合Shrio實現JWT的方法
  • JAVA集合框架Map特性及實例解析
  • TP5框架實現一次選擇多張圖片并預覽的方法示例
  • yii框架結合charjs統計上一年與當前年數據的方法示例
  • yii框架結合charjs實現統計30天數據的方法
  • TP5框架實現上傳多張圖片的方法分析
  • Apache Shrio安全框架實現原理及實例詳解

標簽:平頂山 河南 隴南 唐山 武漢 通遼 黃山 南通

巨人網絡通訊聲明:本文標題《thinkphp5 框架結合plupload實現圖片批量上傳功能示例》,本文關鍵詞  thinkphp5,框架,結合,plupload,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《thinkphp5 框架結合plupload實現圖片批量上傳功能示例》相關的同類信息!
  • 本頁收集關于thinkphp5 框架結合plupload實現圖片批量上傳功能示例的相關信息資訊供網民參考!
  • 推薦文章
    午夜在线亚洲| 毛片成人永久免费视频| 国产一区二区精品久| 日韩欧美一及在线播放| 国产国语在线播放视频| 亚欧乱色一区二区三区| 精品视频一区二区三区免费| 天堂网中文字幕| 日本在线www| 二级片在线观看| 91麻豆国产福利精品| 一级女性大黄生活片免费| 久久精品欧美一区二区| 亚欧成人乱码一区二区| 中文字幕97| 欧美爱爱动态| 可以在线看黄的网站| 日韩免费在线视频| 国产国产人免费视频成69堂| 亚欧视频在线| 国产麻豆精品| 免费的黄视频| 亚欧乱色一区二区三区| 你懂的福利视频| 午夜久久网| 青青久久精品| 91麻豆国产级在线| 国产成人精品在线| 九九精品久久| 久久国产精品自由自在| 欧美大片a一级毛片视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 成人高清视频在线观看| 午夜在线影院| 亚洲爆爽| 久久精品欧美一区二区| 黄色短视频网站| 深夜做爰性大片中文| 国产91丝袜在线播放0| 韩国三级香港三级日本三级| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 午夜激情视频在线播放| 尤物视频网站在线观看| 国产欧美精品| 高清一级毛片一本到免费观看| 天天做日日爱夜夜爽| 沈樵在线观看福利| 久久国产精品自线拍免费| 九九免费高清在线观看视频| 日本特黄特黄aaaaa大片| 日韩专区亚洲综合久久| 99久久精品国产国产毛片| 国产成人欧美一区二区三区的| 四虎影视库| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 午夜在线影院| 午夜激情视频在线观看| 青草国产在线| 成人影院一区二区三区| 九九干| 国产成+人+综合+亚洲不卡| 日本特黄特色aaa大片免费| 国产综合成人观看在线| 91麻豆高清国产在线播放| 四虎影视库国产精品一区| 日韩专区一区| 欧美爱色| 99久久精品国产麻豆| 青草国产在线| 午夜在线影院| 99色精品| 日本特黄特色aaa大片免费| 久久国产影视免费精品| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产韩国精品一区二区三区| 亚洲精品影院| 精品在线免费播放| 麻豆系列 在线视频| 91麻豆tv| 精品视频在线观看一区二区| 毛片高清| 精品国产一区二区三区久| 久久精品店| 免费毛片播放| 精品国产一区二区三区久久久狼| 成人免费高清视频| 久久精品欧美一区二区| 尤物视频网站在线观看| 成人高清视频免费观看| 成人免费网站久久久| 成人免费观看男女羞羞视频 | 日韩一级黄色| 欧美国产日韩一区二区三区| 国产欧美精品| 欧美激情一区二区三区中文字幕| 成人在激情在线视频| 韩国毛片 免费| 日韩av东京社区男人的天堂| 你懂的在线观看视频| 天天色成人| 二级特黄绝大片免费视频大片| 精品国产一区二区三区久久久蜜臀| 韩国毛片基地| 精品国产三级a| 亚洲天堂免费观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 91麻豆精品国产片在线观看| 国产国产人免费视频成69堂| 日本在线不卡视频| 免费国产在线观看| 国产激情视频在线观看| 欧美激情一区二区三区视频 | 国产精品12| 免费国产在线视频| 精品视频在线观看免费| 可以免费在线看黄的网站| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚州视频一区二区| 精品国产亚一区二区三区| 一本伊大人香蕉高清在线观看| 欧美另类videosbestsex久久| 精品国产一区二区三区免费| 国产一区二区精品久久91| 国产精品123| 国产精品123| 在线观看成人网 | 国产麻豆精品高清在线播放| 天堂网中文字幕| 尤物视频网站在线观看| 亚洲第一视频在线播放| 亚洲 国产精品 日韩| 午夜在线影院| 久草免费在线观看| 尤物视频网站在线观看| 国产亚洲免费观看| 91麻豆tv| 亚洲第一页乱| 久久国产一区二区| 97视频免费在线| 四虎影视库| 欧美a级片视频| 99热精品在线| 久久99欧美| 91麻豆精品国产自产在线| 精品久久久久久中文字幕2017| 国产激情视频在线观看| 麻豆午夜视频| 成人免费一级纶理片| 国产a视频| 天天色成人| 精品国产一区二区三区久久久狼| 日韩男人天堂| 欧美大片aaaa一级毛片| 日韩在线观看视频黄| 成人免费观看视频| a级精品九九九大片免费看| 一级毛片看真人在线视频| 精品国产三级a| 天天做日日爱| 青青久在线视频| 黄视频网站免费| 91麻豆精品国产片在线观看| 国产麻豆精品免费密入口| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产一区二区精品尤物| 国产麻豆精品高清在线播放| 国产成人精品在线| 国产不卡在线观看| 欧美激情一区二区三区视频| 麻豆系列国产剧在线观看| 亚洲第一视频在线播放| 国产伦精品一区二区三区在线观看| 四虎精品在线观看| 久草免费在线视频| 一a一级片| 九九干| 一级毛片看真人在线视频| 国产国语对白一级毛片| 成人av在线播放| 九九久久国产精品| 一级女性全黄久久生活片| 国产一区二区精品在线观看| 国产视频一区在线| 日日日夜夜操| 亚洲www美色| 精品视频免费观看| 999久久66久6只有精品| 欧美日本二区| 欧美大片aaaa一级毛片| 国产国产人免费视频成69堂| 免费的黄色小视频| 二级片在线观看| 日本在线www| 日韩免费片| 欧美电影免费| 国产成人精品综合在线| 国产国语在线播放视频| 色综合久久天天综合| 麻豆网站在线看| 91麻豆tv|