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

首頁 > 編程 > PHP > 正文

怎么樣通過php上傳文件

2020-03-22 19:08:03
字體:
來源:轉載
供稿:網友
  • 文件上傳一般有下面2種方式:
    有兩種:
    1、標準input表單方式,典型的用$_FILES進行接收;
    2、以Base64的方式進行傳送,一般是AJAX異步上傳。
    第一種
    標準的input表單方式,適用于大文件進行上傳,同時支持批量。html代碼關鍵的幾句:
    enctype="multipart/form-data" method="post" action="upload.php"">
    type="file" name="id_pic[]" accept="image/*" class="form-control" multiple />
    type="submit" value="上傳 " />
    不同的name時:
    enctype="multipart/form-data" method="post" action="upload.php"">
    type="file" name="id_pic_1" accept="image/*" class="form-control" />
    type="file" name="id_pic_2" accept="image/*" class="form-control" />
    type="submit" value="上傳 " />
    其中enctype="multipart/form-data"對于文件上傳是必不可少的。另外type="file"設置input類型,accept="image/*"指定優先上傳圖片(MIME 參考手冊)。multiple支持一次選多個文件,pic[]以數組的形式接收多個文件。手機端端還可以加入參數capture="camera"選擇攝像頭拍照上傳。
    后端處理:
    通過$_FILES獲取上傳的文件。
    $files = $_FILES;
    傳多個文件時,如果name不同,則返回的$_FILES數組格式不同。
    name相同時:
    array(1) {
    ["id_pic"] => array(5) {
    ["name"] => array(2) {
    [0] => string(5) "1.jpg"
    [1] => string(5) "2.jpg"
    }
    ["type"] => array(2) {
    [0] => string(10) "image/jpeg"
    [1] => string(10) "image/jpeg"
    }
    ["tmp_name"] => array(2) {
    [0] => string(27) "C:WindowsTempphp7A7E.tmp"
    [1] => string(27) "C:WindowsTempphp7A7F.tmp"
    }
    ["error"] => array(2) {
    [0] => int(0)
    [1] => int(0)
    }
    ["size"] => array(2) {
    [0] => int(77357)
    [1] => int(56720)
    }
    }
    }
    name不相同時:
    array(2) {
    ["id_pic_1"] => array(5) {
    ["name"] => string(5) "1.jpg"
    ["type"] => string(10) "image/jpeg"
    ["tmp_name"] => string(27) "C:WindowsTempphpBBEE.tmp"
    ["error"] => int(0)
    ["size"] => int(77357)
    }
    ["id_pic_2"] => array(5) {
    ["name"] => string(5) "2.jpg"
    ["type"] => string(10) "image/jpeg"
    ["tmp_name"] => string(27) "C:WindowsTempphpBBEF.tmp"
    ["error"] => int(0)
    ["size"] => int(56720)
    }
    }
    在對$_FILES進行foreach遍歷時,前面那種輸出格式不大方便。后面那種就可以直接遍歷。我們可以寫個方法進行統一轉換:
    function dealFiles($files) {
    $fileArray = array();
    $n = 0;
    foreach ($files as $key=>$file){
    if(is_array($file['name'])) {
    $keys = array_keys($file);
    $count = count($file['name']);
    for ($i=0; $i$count; $i++) {
    $fileArray[$n]['key'] = $key;
    foreach ($keys as $_key){
    $fileArray[$n][$_key] = $file[$_key][$i];
    }
    $n++;
    }
    }else{
    $fileArray = $files;
    break;
    }
    }
    return $fileArray;
    }
    好,前面講到后端如何處理接收到的$_FILES數組,并轉換成統一格式。接下來任務主要是:
    1、檢測上傳的文件是否非法;
    2、檢測上傳的文件是否超過大??;
    3、檢測保存的路徑是否存在,是否可寫;
    4、文件重命名;
    其中上傳過程中用到了個很重要的函數:move_uploaded_file(filename , $destination )進行文件移動操作。將$_FILES['id_pic']['tmp_name']移動到新的路徑里。當然,移動前可以用is_uploaded_file($_FILES['id_pic']['tmp_name'])進行判斷文件是否正常上傳的。
    多文件上傳則是循環的方法多次使用move_uploaded_file()進行移動操作。
    第二種
    主要以上傳圖片為主。
    利用input的change事件,借助canvas對圖片進行處理(例如壓縮),然后ajax發送文件流到后端。
    基本原理是通過canvas渲染圖片,再通過 toDataURL 方法壓縮保存為base64字符串(能夠編譯為jpg格式的圖片)。
    后端處理:
    后端最終會收到前端發送的base64字符串,接著處理字符串為圖片即可。具體請使用關鍵字base64 轉 image 開發語言進行谷歌|百度。前端生成的結果中有一個base64Len,這是字符串的長度,后端應該核對以確認是否提交完整。

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

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    亚洲国产一区自拍| 国产精品亚洲第一区| 国产91九色视频| 日日狠狠久久偷偷四色综合免费| 成人黄色网免费| 日韩电影大片中文字幕| 国产欧美日韩高清| 日本久久久久亚洲中字幕| 成人网址在线观看| 亚洲色在线视频| 久久久久久久色| 国产精品久久久91| 精品爽片免费看久久| 久久久久亚洲精品成人网小说| 精品福利在线观看| 国产精品高潮呻吟久久av野狼| 欧美福利小视频| 久热爱精品视频线路一| 91牛牛免费视频| 国产精品久久久久久网站| 亚洲tv在线观看| 日韩美女写真福利在线观看| 欧美夫妻性视频| 中文字幕av一区中文字幕天堂| 国产亚洲在线播放| 国产精品男人爽免费视频1| 日韩成人av网址| 国产精品极品美女粉嫩高清在线| 国产精品激情av在线播放| 欧美成人精品一区二区| 日本精品性网站在线观看| 精品国内自产拍在线观看| 日韩有码在线电影| 色综合久久久久久中文网| 欧美性开放视频| 欧美精品性视频| 日本一区二区在线免费播放| 中文字幕亚洲欧美日韩在线不卡| 久久久久国产精品免费| 日韩在线不卡视频| 中文字幕欧美亚洲| 亚洲国产一区自拍| 中文字幕一区二区三区电影| 欧美黑人xxxx| 午夜精品久久久久久久男人的天堂| 色爱精品视频一区| 日韩欧美在线观看视频| 97视频在线观看播放| 亚洲码在线观看| 久久人人爽亚洲精品天堂| 日韩久久精品电影| 国产精品色悠悠| 国产精自产拍久久久久久| 成人有码在线视频| 久久精品一偷一偷国产| 色偷偷av亚洲男人的天堂| x99av成人免费| 欧美最顶级的aⅴ艳星| 久久影视电视剧免费网站| 日韩综合中文字幕| 亚洲国产女人aaa毛片在线| 国产精品一区二区性色av| 亚洲精品网站在线播放gif| 亚洲欧洲在线播放| 日韩中文字幕第一页| 亚洲欧洲激情在线| 日韩电影在线观看永久视频免费网站| 亚洲欧洲xxxx| 亚洲在线免费视频| 欧美小视频在线| 国产偷亚洲偷欧美偷精品| 成人在线视频网| 久久91超碰青草是什么| 国产精品黄视频| 亚洲精品视频播放| 国产日韩精品视频| 国产亚洲一区二区精品| 成人午夜黄色影院| 国产精品av在线| 亚洲aa中文字幕| 中文字幕一区二区三区电影| 亚洲精品999| 91国产美女在线观看| 日韩在线免费av| 久久这里有精品| 欧美老女人xx| 国产aⅴ夜夜欢一区二区三区| 欧美成人亚洲成人| 久久成人在线视频| 欧美精品在线播放| 日韩av网站大全| 亚洲另类xxxx| 91在线看www| 亚洲国产精品国自产拍av秋霞| 国产精品自拍小视频| 亚洲欧美制服第一页| 日韩av高清不卡| 精品国产乱码久久久久久虫虫漫画| 性欧美亚洲xxxx乳在线观看| 欧美性生交xxxxx久久久| 亚洲乱亚洲乱妇无码| 精品中文字幕在线2019| 国产伦精品免费视频| 亚洲黄页视频免费观看| 在线观看日韩欧美| 日本电影亚洲天堂| 96sao精品视频在线观看| 亚洲欧美精品一区| 精品动漫一区二区| 日韩中文第一页| 亚洲色图偷窥自拍| 精品久久久av| 中文日韩在线观看| 亚洲天堂影视av| 热久久免费视频精品| 成人欧美一区二区三区黑人孕妇| 亚洲日本欧美日韩高观看| 精品免费在线视频| 少妇激情综合网| 欧美黑人性视频| 欧美性生活大片免费观看网址| 亚洲一区二区免费在线| 久久97久久97精品免视看| 日韩中文字幕在线视频| 国产在线999| 九九视频这里只有精品| 国产成人激情小视频| 一区二区欧美久久| 伊人成人开心激情综合网| 韩国欧美亚洲国产| 韩国美女主播一区| 亚洲欧美日韩成人| 国产精品人人做人人爽| 成人性生交大片免费看视频直播| 亚洲一区二区黄| 久久久久久久久久久网站| 久久久久久欧美| 亚洲第一福利在线观看| 精品香蕉一区二区三区| 亚洲欧美日韩一区二区在线| 国产亚洲精品日韩| 亚洲自拍偷拍视频| 91精品久久久久久久久久| 日韩av电影免费观看高清| 2018国产精品视频| 96pao国产成视频永久免费| 午夜欧美不卡精品aaaaa| 在线播放亚洲激情| 色狠狠av一区二区三区香蕉蜜桃| 国产精国产精品| 日韩精品有码在线观看| 日韩精品电影网| 亚洲精选中文字幕| 日韩高清av一区二区三区| 欧美日韩免费观看中文| 亚洲精品91美女久久久久久久| 欧美亚洲在线观看| 国产精品偷伦视频免费观看国产| 成人在线视频福利| 国产精品91视频| 欧美国产日韩视频| 久久综合久中文字幕青草| 精品中文字幕在线观看| 日韩电影中文字幕|