亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php+WebUploader圖片批量上傳

2020-03-22 17:16:20
字體:
來源:轉載
供稿:網友

一.webuploader

webuploader主要用來做文件的上傳,支持批量上傳和圖片預覽,圖片預覽是將圖片生成base64數據直接在標簽中使用,所以能夠達到的效果是未真正上傳圖片可以先看到上傳的效果。更多具體的介紹,可以上webuploader的官方網址看,我一直認為,看網址文檔是學習最直接的途徑。 webuploader官方網站,順帶一提,webuploader是由Baidu Fex Team團隊進行維護的。

二. webuploader上傳原理1. PHP+HTML表單上傳文件

在講這個之前,需要先了解一下php的文件上傳方式,上傳分兩個部分

  1. 先通過html創建<form>表單,在表單中添加

<input type='file' name='xxx'>

的文件上傳標簽,點擊上傳的submit 按鈕之后,就可以將文件上傳到服務器了。

  1. 到了服務器端,接收到的上傳文件會被存儲在php指定的臨時文件夾中,利用PHP的內置函數move_uploaded_file(),就可以將臨時文件移動到你想要的目標文件夾中,這個過程可以對文件進行改名、做大小判斷是否符合條件等,這樣上傳就完成了。

完整的php表單上傳案例,可以看w3school的這篇文章,這里就不累贅了。PHP+HTML表單上傳文件

2. webuploader上傳原理

使用php+html表單上傳可以完成文件的上傳工作,但是有缺點,

  1. 上傳文件時必須提交整個頁面,這樣頁面會被刷新

  2. 上傳圖片是沒辦法進行圖片預覽,所以有時候上傳錯了圖片也要等到圖片真正上傳上去之后刷新了頁面才知道。

webuploader解決了這兩個問題,webuploader使用ajax技術提交表單,上傳的時候不需要提交頁面,可以利用事件監聽機制監聽上傳的結果,在頁面中做出反饋,而且還能做圖片預覽。使用webuploader上傳圖片,也只需要幾步:

  1. 前臺HTML頁面配置webuploader

  2. 后臺服務器PHP頁面接受webuploader的上傳圖片,然后進行處理。

  3. 后臺處理完圖片返回json數據的結果給前臺

  4. 前臺接收json數據后作出反饋。

這里說一點,后臺PHP接收和處理圖片其實和PHP+HTML表單上傳基本是一樣的。

三. webuploader的配置和使用

所有的配置參數和使用方法都可以查看官方文件。webuploader官方網站,在webuploader github倉庫中有一些example案例可以參考。example

我的運行環境:php5.6+nginx+macOS

我的文件夾的目錄

  • index.php

  • upload_img.php

  • mywebupload.js

  • webuploader/

  • uploads/

1. 前臺HTML頁面配置webupload

主要做以下幾個步驟:

  1. 引入webuploader的相關js和css包

  2. 創建HTML標簽

  3. 創建一個js文件,初始化webuploader 以下是整個頁面代碼,webuploader文件夾是在github上整個搬運下來的,然后我還用到了jquery來增強頁面的體驗。

index.html

<!doctype html><html><head>    <meta charset="UTF-8">    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">    <title>WebUploader演示</title>    <link rel="stylesheet" type="text/css" href="webuploader/css/webuploader.css" />    <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" />    <link rel="shortcut icon" href="favicon.ico"></head><body>    <div id="imgPicker">選擇文件</div>    <button class="btn btn-primary btn-upload">上傳</button>    <div></div>    <div></div>    <!--jquery 1.12--><script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script><!--bootstrap核心js文件--><script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script><!--webuploader js--><!--<script type="text/javascript" src="static/jquery.js"></script>--><script type="text/javascript" src="webuploader/dist/webuploader.min.js"></script><script type="text/javascript" src="mywebupload.js"></script></body></html>

mywebupload.js

$(function(){    /*     *   配置webuploader     */    var imgUploader = WebUploader.create({        fileVal: 'img',  // 相當于input標簽的name屬性,用于后臺PHP識別接收上傳文件的field        swf: './webuploader/dist/Uploader.swf',  // swf文件路徑        server: './upload_img.php',  // 文件接收服務端。        fileNumLimit: 10,   // 上傳文件的限制        pick: {            id : '#imgPicker',   //             multiple : true           // 是否支持多文件上傳        },        //  只允許上傳圖片        accept: {            title: 'Only Images',            extensions: 'gif,jpg,jpeg,bmp,png',            mimeTypes: 'image/jpg,image/jpeg,image/png,image/gif,image/bmp'        },        auto: false,    // 添加文件后是否自動上傳上去,我設置了false,后面我會利用自己的上傳按鈕上傳        resize: false   // 不壓縮image, 默認如果是jpeg,文件上傳前會壓縮一把再上傳!    });        /*     *   設置上傳按鈕的單擊事件     */    $('.btn-upload').click(function(){        imgUploader.upload();   // webuploader內置的upload函數,啟動webuploader的上傳        });        /*     *   配置webuploader的事件監聽      */        // 當圖片文件被添加到上傳隊列中    imgUploader.on('fileQueued', function (file) {        addImgThumb(file);    });        // 生產圖片預覽    function addImgThumb(file){        imgUploader.makeThumb(file, function(error, ret){            if(!error){                img = '<img alt="" src="' + ret + '" />';                $('.img-thumb').append(img);            }else{                console.log('making img error');            }        },1,1);    }        imgUploader.on('uploadSuccess'), function(file, response){        // response 是后臺upload_img.php返回的數據        if(response.success){            $('.result').append('<p>' + file.name + '上傳成功</p>')        }else{            $('.result').append('<p>' + response.message + '</p>')        }    });})
2. 后臺PHP頁面處理上傳文件

這里要注意兩點:

  1. 后臺處理的php文件文件名必須跟webuploader配置的時候一樣。

  2. 上傳的文件夾記得設置好權限,linux可以利用chmod來修改文件夾權限,否則會導致上傳失敗。

我這里的處理方式比較簡單,有什么問題可以給我留言。

upload_img.php

<?php    $field = 'img';   // 對應webupload里設置的fileVal        $savePath = './uploads/';       // 這里注意設置uploads文件夾的權限    $saveName = time() . uniqid() . '_' . $_FILES[$field]['name']; //  為文件重命名    $fullName = $savePath . $saveName;          if (file_exists($fullName)) {        $result = [            'success'=>false,             'message'=>'相同文件名的文件已經存在'        ];    }else{        move_uploaded_file($_FILES[$field]["tmp_name"], $fullName);        $result = ['success'=>true, 'fullName'=>$fullName];    }        return json_encode($result);  // 將結果打包成json格式返回?>

以上就是webuploader的全部內容,更多webuploader的參數配置和事件可以參考webuploader的官方網址。希望大家多多留言交流指正。

更多PHP相關技術文章,請訪問PHP教程欄目進行學習!

以上就是php+WebUploader圖片批量上傳的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
1769国内精品视频在线播放| 91久久国产婷婷一区二区| 2020久久国产精品| 亚洲国产精品人人爽夜夜爽| 国产精品日日做人人爱| 亚洲一区二区三区在线免费观看| 久久露脸国产精品| 国产精品视频内| 亚洲在线视频观看| 欧美疯狂做受xxxx高潮| 久久久久久久97| 国产精品va在线播放我和闺蜜| 一区二区三区黄色| 日韩在线欧美在线国产在线| 日韩欧美高清在线视频| 国产自产女人91一区在线观看| 2019精品视频| 精品国产视频在线| 55夜色66夜色国产精品视频| 国产成人啪精品视频免费网| 欧美日韩性生活视频| 亚洲国语精品自产拍在线观看| 久久深夜福利免费观看| 日韩免费高清在线观看| 欧美精品videos另类日本| 色噜噜狠狠狠综合曰曰曰| 日韩高清电影好看的电视剧电影| 久久夜色精品亚洲噜噜国产mv| 久久久久国产精品一区| 91亚洲精品久久久| 国产精品久久中文| 欧美xxxx18性欧美| 久久综合伊人77777| 国产精品久久久久999| 亚洲成人免费在线视频| 亚洲欧美日韩在线高清直播| 一个人www欧美| 国产在线一区二区三区| 91av在线网站| 色婷婷av一区二区三区在线观看| 最近2019中文字幕大全第二页| 日韩大片在线观看视频| 77777亚洲午夜久久多人| 97精品一区二区视频在线观看| www.亚洲一二| 成人xvideos免费视频| 日韩电影中文 亚洲精品乱码| 亚洲一区二区久久久| 中文字幕日韩在线视频| 欧美精品激情在线观看| 精品自拍视频在线观看| 国产精品大片wwwwww| 亚洲欧美成人在线| 国产精品视频成人| 欧美午夜片欧美片在线观看| 91大神在线播放精品| 亚洲毛片一区二区| 欧美大片va欧美在线播放| 国产日韩欧美中文| 欧美性色xo影院| 日本电影亚洲天堂| 亚洲欧美日韩另类| 久久久精品国产亚洲| 青青青国产精品一区二区| 精品一区精品二区| 中文字幕精品www乱入免费视频| 在线成人激情黄色| 亚洲一区二区国产| 欧美成人在线影院| 亚洲电影免费观看高清完整版在线| 亚洲精品97久久| 亚洲无限乱码一二三四麻| 日韩电影中文 亚洲精品乱码| 国产精品久久久久91| 亚洲石原莉奈一区二区在线观看| 亚洲xxxx妇黄裸体| 欧美亚洲第一页| 成人高h视频在线| 色综合老司机第九色激情| 久久6精品影院| 欧美激情第一页xxx| 在线观看亚洲视频| 久久久久久久一区二区| 亚洲国产天堂网精品网站| 久久久电影免费观看完整版| 国产精品视频网址| 亚洲一区二区中文| 在线激情影院一区| 国产精品中文字幕在线| 中文字幕亚洲综合久久| 亚洲精品二三区| 中文字幕在线日韩| 欧美成人免费一级人片100| 午夜精品在线观看| 一本色道久久88精品综合| 成人精品久久av网站| 欧美xxxx14xxxxx性爽| 国产黑人绿帽在线第一区| 红桃视频成人在线观看| 亚洲国产精品视频在线观看| 色在人av网站天堂精品| 亚洲成人a级网| 亚洲第一福利视频| 亚洲欧美中文字幕| 91视频88av| 欧美日韩性视频在线| 国产日韩欧美在线视频观看| 亚洲天堂av在线播放| 日韩视频免费观看| 国产精品香蕉国产| 久久夜色精品国产| 亚洲人成毛片在线播放| 一本色道久久综合亚洲精品小说| 久久亚洲一区二区三区四区五区高| 精品久久在线播放| 国产视频欧美视频| 亚洲精品小视频在线观看| 国产v综合ⅴ日韩v欧美大片| 成人精品网站在线观看| 久久久之久亚州精品露出| 久久久久五月天| 日韩男女性生活视频| 日韩精品视频免费专区在线播放| 亚洲人成电影在线观看天堂色| 欧美午夜精品久久久久久人妖| 精品中文字幕在线2019| 国产a∨精品一区二区三区不卡| 国产成人高清激情视频在线观看| 韩国国内大量揄拍精品视频| 日韩免费在线电影| 久久久亚洲网站| 国产精品露脸av在线| 欧美第一黄网免费网站| 亚洲精品视频在线观看视频| 欧美视频专区一二在线观看| 九九热在线精品视频| 亚洲国产欧美一区二区三区同亚洲| 国产精品v片在线观看不卡| 麻豆乱码国产一区二区三区| 欧美福利视频在线| 色天天综合狠狠色| www欧美xxxx| 日韩av色综合| 国产日韩精品一区二区| 福利微拍一区二区| 国产精品爽黄69| 亚洲女人被黑人巨大进入al| 日本一区二区三区在线播放| 欧美国产一区二区三区| 国语对白做受69| 国产精品日韩电影| 欧美xxxx14xxxxx性爽| 亚洲精品欧美一区二区三区| 国产欧美日韩中文字幕| 国产精品91视频| 亚洲免费av电影| 欧美激情视频在线观看| 国产在线观看精品一区二区三区| 欧美精品videos另类日本| 成人免费网站在线看| 国产精品久久久久久久久久免费| 国产一区二区三区18| 成人黄色免费看| 国产福利精品视频|