最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP使用HTML5 FileApi實(shí)現(xiàn)Ajax上傳文件功能示例

 更新時(shí)間:2019年07月01日 10:29:31   作者:webbc  
這篇文章主要介紹了PHP使用HTML5 FileApi實(shí)現(xiàn)Ajax上傳文件功能,結(jié)合實(shí)例形式分析了HTML5 FileApi的功能、原理及php使用HTML5 FileApi實(shí)現(xiàn)ajax上傳的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP使用HTML5 FileApi實(shí)現(xiàn)Ajax上傳文件功能。分享給大家供大家參考,具體如下:

FileApi是HTML5的一個(gè)新特性,有了這個(gè)新特性,js就可以讀取本地的文件了,然后實(shí)現(xiàn)真正的Ajax上傳文件了,而不是iframe方法,下面會(huì)介紹api的使用,以及實(shí)現(xiàn)Ajax上傳文件:

FileApi使用

定義上傳控件:

<input type="file" name="pic" onchange="selfile();" />

當(dāng)上傳文件后,就會(huì)觸發(fā)selfile()函數(shù),selfile()代碼:

var files = document.getElementsByTagName('input')[0].files;//fileList對(duì)象,文件列表對(duì)象,表示有多個(gè)文件被上傳,如果只有1個(gè)文件上傳也是fileList對(duì)象
var files = document.getElementsByTagName('input')[0].files[0];//file對(duì)象,表示單個(gè)上傳文件

Ajax上傳文件

效果圖:

項(xiàng)目結(jié)構(gòu)圖:

11-fileApi.html文件:

頁(yè)面中主要有一個(gè)上傳文件按鈕,如果有文件上傳,onchange事件被響應(yīng),selfile函數(shù)調(diào)用,然后js讀取上傳文件、把文件名和大小顯示在頁(yè)面中、創(chuàng)建FormData對(duì)象并添加數(shù)據(jù)、ajax上傳文件、預(yù)覽上傳文件效果。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>fileApi實(shí)現(xiàn)Ajax上傳文件</title>
  <link rel="stylesheet" href="">
<script>
  function selfile(){
    var file = document.getElementsByTagName('input')[0].files[0];//js讀取上傳文件
    var con = '';
    con += '文件名:' + file.name + '<br/>';
    con += '大?。? + file.size;
    document.getElementById('debug').innerHTML = con;//把文件名和大小顯示在頁(yè)面中
    var fd = new FormData();//創(chuàng)建FormData對(duì)象
    fd.append('pic',file);//添加文件數(shù)據(jù)
    //ajax上傳文件
    var xhr = new XMLHttpRequest();
    xhr.open('POST','11-fileApi.php',true);
    xhr.send(fd);
    var img = document.createElement('img');//動(dòng)態(tài)創(chuàng)建img標(biāo)簽
    img.src = window.URL.createObjectURL(file);//把二進(jìn)制對(duì)象直接讀出瀏覽器顯示的資源
    document.getElementsByTagName('body')[0].appendChild(img);//把img標(biāo)簽動(dòng)態(tài)添加到dom樹中
  }
</script>
</head>
<body>
  <input type="file" name="pic" onchange="selfile();" />
  <div id="debug"></div>
</body>
</html>

11-fileApi.php文件:

首先判斷是否有文件上傳,然后判斷上傳是否成功,最后把文件復(fù)制到當(dāng)前目錄下的upload目錄下,文件名保持不變。

<?php
/**
 * fileApi實(shí)現(xiàn)Ajax上傳文件
 * @author webbc
 */
if(empty($_FILES)){
  exit('no file');
}
if($_FILES['pic']['error'] !== 0){
  exit('fail');
}
move_uploaded_file($_FILES['pic']['tmp_name'],'./upload/'.$_FILES['pic']['name']);
?>

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP目錄操作技巧匯總》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》及《PHP網(wǎng)絡(luò)編程技巧總結(jié)

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

相關(guān)文章

最新評(píng)論

宜阳县| 闵行区| 哈尔滨市| 饶平县| 库伦旗| 冀州市| 云浮市| 成都市| 盐津县| 中阳县| 彝良县| 和静县| 贡山| 崇义县| 新龙县| 贺兰县| 正镶白旗| 麦盖提县| 辽宁省| 新田县| 简阳市| 噶尔县| 华坪县| 东方市| 永州市| 鞍山市| 高台县| 汉阴县| 甘谷县| 渝中区| 全南县| 观塘区| 湄潭县| 金寨县| 高邑县| 莒南县| 建湖县| 泸州市| 体育| 平原县| 赤水市|