国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

php 下 html5 XHR2 + FormData + File API 上傳文件操作實例分析

瀏覽:180日期:2022-09-11 13:09:08

本文實例講述了php 下 html5 XHR2 + FormData + File API 上傳文件操作。分享給大家供大家參考,具體如下:

FormData的作用:

FormData對象可以幫助我們自動的打包表單數據,通過XMLHttpRequest的send()方法來提交表單。當然FormData也可以動態的append數據。FormData的最大優點就是我們可以異步上傳一個二進制文件。

例1如下:

<!DOCTYPE HTML><html lang='zh-CN'><head> <meta charset='UTF-8'> <title></title></head><body> <form method='post' onsubmit='return post();'> 用戶名<input type='text' name='uname' /> 密碼<input type='password' name='upwd' /> 郵箱<input type='text' name='uemail' /> <input type='submit' name='submit' value='提交' /> </form></body><script type='text/javascript'>function post() { var myForm = document.getElementById('myForm'); //FormData既可以從表單讀取數據,也可以動態append(鍵,值)添加 var fd = new FormData(myForm); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState == 4) { alert(this.responseText); } }; xhr.open('post', 'post.php', true); xhr.send(fd); return false;}</script></html>

File API

使用HTML5 DOM新增的File API,現在可以讓網頁要求用戶選擇本地文件,并且讀取這些文件的信息了。

通過File API,我們可以在用戶選取一個或者多個文件之后,訪問到代表了所選文件的一個或多個File對象,這些對象被包含在一個FileList對象中。

<!DOCTYPE HTML><html lang='zh-CN'><head> <meta charset='UTF-8'> <title></title></head><body> <form method='post' id='myForm'> <input type='file' name='file' /> <input type='submit' name='submit' value='提交' /> </form></body><script type='text/javascript'> var upfile = document.getElementById('upfile'); upfile.onchange = function() { var file = this.files[0]; alert('文件名:' + file.name + 'rn' + '大小:' + file.size + 'rn'); };</script></html>

我們通過FormData + File API 上傳文件

<!DOCTYPE HTML><html lang='zh-CN'><head> <meta charset='UTF-8'> <title></title></head><body> <form method='post' id='myForm'> <input type='file' name='file' /> <input type='submit' name='submit' value='提交' /> </form></body><script type='text/javascript'> var myForm = document.getElementById('myForm'); var upfile = document.getElementById('upfile'); myForm.onsubmit = function() { //我們創建一個FormData對象 var fd = new FormData(); var file = upfile.files[0]; //把文件添加到FormData對象中 fd.append('file', file); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState == 4) {alert(this.responseText); } }; xhr.open('post', 'upfile.php', true); //發送FormData對象 xhr.send(fd); return false; };</script></html>

upfile.php代碼如下:

<?php$uploadDir = ’./upload/’;if(!file_exists($uploadDir)) { @mkdir($uploadDir, 0777, true);}$uploadFile = $uploadDir . basename($_FILES[’file’][’name’]);if(move_uploaded_file($_FILES[’file’][’tmp_name’], $uploadFile)) { echo 'OK';} else { echo 'NO';}

使用對象URL來顯示你所選擇的圖片

通過window.URL.createObjectURL()和 window.URL.revokeObjectURL()兩個DOM方法。

這兩個方法創建簡單的URL字符串對象,用于指向任何 DOM File 對象數據,包括用戶電腦中的本地文件。

<!DOCTYPE HTML><html lang='zh-CN'><head> <meta charset='UTF-8'> <title></title></head><body> <form method='post' id='myForm'> <input type='file' name='file' /> <input type='submit' name='submit' value='提交' /> </form></body><script type='text/javascript'> var myForm = document.getElementById('myForm'); var upfile = document.getElementById('upfile'); upfile.onchange = function() { //創建一個img標簽 var img = document.createElement('img'); //通過file對象創建對象URL img.src = window.URL.createObjectURL(this.files[0]); img.height = 60; img.onload = function() { //釋放對象URL window.URL.revokeObjectURL(this.src); }; document.body.appendChild(img); }; myForm.onsubmit = function() { //我們創建一個FormData對象 var fd = new FormData(); var file = upfile.files[0]; //把文件添加到FormData對象中 fd.append('file', file); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState == 4) {alert(this.responseText); } }; xhr.open('post', 'upfile.php', true); //發送FormData對象 xhr.send(fd); return false; };</script></html>

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php文件操作總結》、《PHP目錄操作技巧匯總》、《PHP常用遍歷算法與技巧總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》及《PHP網絡編程技巧總結》

希望本文所述對大家PHP程序設計有所幫助。

標簽: PHP
相關文章:
主站蜘蛛池模板: 国内精品久久久久久久久久影视 | 亚洲日韩精品欧美一区二区 | 99国产精品高清一区二区二区 | 91久久另类重口变态 | 日本一区二区三区国产 | 国产午夜精品免费一二区 | a级片免费在线播放 | 欧美成人做性视频在线播放 | 久草在线青青草 | 香蕉久久成人网 | 亚洲一区二区三区一品精 | 日日摸人人看97人人澡 | 久草在线看 | 日韩一级欧美一级毛片在线 | 亚洲一级黄色毛片 | 未成人做爰视频www 窝窝午夜精品一区二区 | 久久久一区二区三区不卡 | 欧美曰韩一区二区三区 | 深爱五月开心网亚洲综合 | 午夜影院a| 亚洲欧美日韩国产 | a级国产精品片在线观看 | 日本欧美一区二区三区在线 | 男女一级 | 免费一区区三区四区 | 成人午夜精品 | 免费人成黄页网站在线观看国产 | 欧美亚洲日本韩国一级毛片 | 欧美中文字幕一区 | 国产在线视频一区二区三区 | 拍拍拍又黄又爽无挡视频免费 | 国产a级高清版毛片 | 欧美成人看片黄a免费 | 美女视频黄的免费视频网页 | 在线观看久草 | 毛片在线观看视频 | 99精品视频在线观看免费 | a国产精品 | 一色屋精品亚洲香蕉网站 | 毛片直接看 | 免费va国产高清不卡大片 |