国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

使用ajaxfileupload.js實現ajax上傳文件php版_jquery

來源:懂視網 責編:小采 時間:2020-11-27 21:24:57
文檔

使用ajaxfileupload.js實現ajax上傳文件php版_jquery

使用ajaxfileupload.js實現ajax上傳文件php版_jquery:無論是PHP,還是其他的服務端腳本都提供了文件上傳功能,實現起來也比較簡單。而利用JavaScript來配合,即可實現Ajax方式的文件上傳。雖然jQuery本身沒有提供這樣的簡化函數,但有不少插件可以實現。其中,Phpletter.com提供的ajaxfileupload.
推薦度:
導讀使用ajaxfileupload.js實現ajax上傳文件php版_jquery:無論是PHP,還是其他的服務端腳本都提供了文件上傳功能,實現起來也比較簡單。而利用JavaScript來配合,即可實現Ajax方式的文件上傳。雖然jQuery本身沒有提供這樣的簡化函數,但有不少插件可以實現。其中,Phpletter.com提供的ajaxfileupload.

無論是PHP,還是其他的服務端腳本都提供了文件上傳功能,實現起來也比較簡單。而利用JavaScript來配合,即可實現Ajax方式的文件上傳。雖然jQuery本身沒有提供這樣的簡化函數,但有不少插件可以實現。其中,Phpletter.com提供的ajaxfileupload.js是一個輕量的插件,而且編寫方式與jQuery提供的全局方法$.post()非常相似,簡單易用。
不過,該插件實在太簡化了,除了可提供需上傳文件的路徑外,也就不能傳遞額外的值到后臺服務端。所以,我修改了一下該腳本,增加個一個data對象參數。

一、原理

我這里使用的是PHP作為服務端腳本,幾乎在每本較少PHP的書上都會提到如何使用move_uploaded_file()方法來上傳文件,這里我就不再細說了。我想說的是,利用Ajax上傳的原理。
因為一直在使用jQuery庫,所以當想到Ajax時,第一反應就是試試$.post()方法,利用各選擇器得到file文件框中的value值,然后提交到后臺服務端。當然,后來證明這是不行的。(正因為這問題,我還查了不少資料,網上還提供了不少ASP等方式的腳本,真不知道該說什么好。)
回到正題,要實現Ajax方式上傳,其實并不難,方法也有不少。而本文提到的Phpletter.com的ajaxfileupload.js插件就是使用iframe的方式。這也是在不使用JavaScript腳本時,要實現不刷新頁面上傳時常見的方法。(本博客bo-blog后臺撰寫日志就是用該方法)
而ajaxfileupload.js插件也很簡單,就是先利用jQuery的選擇器獲得file文件上傳框中的文件路徑值,然后動態的創建一個iframe,并在里面建立一個新的file 文件框,提供post方式提交到后臺。最后,返回結果到前臺。

二、使用

ajaxfileupload.js插件的使用很簡單。
前臺HTML代碼類似:


為了測試,可以使用類似下面的方式保存傳遞過來的變量值:

$file_info = var_export($_FILES,true);
$ok = file_put_contents("../attachment/file_info.txt",$file_info);
if ($ok) exit(json_encode('file_infor'=>'上傳成功'));
exit (json_encode('file_infor'=>'上傳失敗'));


※ 注意
請留意HTML代碼文件框中的標記:

1. id='img'是用于給ajaxfileupload.js插件的fileElementId:'img'識別的,jQuery選擇器會利用該字符串獲得文本框的值;
2. name='img'是用于通過post方式提交到后臺腳本時,PHP通過$_FILES['img']讀取上傳文件的數據,若沒有該值,$_FILES變量為空;

所以,這兩個值缺一不可,也不可混淆。

三、支持額外參數

有時候,我們需要在后臺根據某些變量來覺得對上傳文件的處理。例如,更新文件。這時,就需要往同臺再傳遞一些額外的參數。所以,我修改了ajaxfileupload.js插件:

紅色標記部分是我添加的內容。這樣,我就可以在前臺HTML部分,通過類似下面的代碼來傳遞額外的參數:

url:'doajaxfileupload.php', //你處理上傳文件的服務端
secureuri:false, //與頁面處理代碼中file相對應的ID值
data:{'test':'test','ok':'ok'}, //以對象的方式傳遞,內容部分可輸入JavaScript的變量值
fileElementId:'img',

后臺處理腳本為:

array_push($_FILES,$_REQUEST);
$file_info = var_export($_FILES,true);
$ok = file_put_contents("../attachment/file_info.txt",$file_info);
if ($ok) exit(json_encode('file_infor'=>'上傳成功'));
exit (json_encode('file_infor'=>'上傳失敗')); 

可見,原理很簡單,就是把額外的data對象內容一同加到iframe下的form中,傳遞到后臺PHP腳本,以$_REQUEST等變量獲得這些值。
后臺輸出保留的file_info.txt內容如下:

array (
'file' =>
array (
'name' => 'firefox-java.txt',
'type' => 'text/plain',
'tmp_name' => 'D:\\Tools\\xampp\\tmp\\phpED45.tmp',
'error' => 0,
'size' => 250,
),
0 =>
array (
'test' => 'test',
'ok' => 'ok',
'PHPSESSID' => 'e379fd4fb2abca6e802a1302805a5535',
),
)

ajaxfileupload.js:

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

使用ajaxfileupload.js實現ajax上傳文件php版_jquery

使用ajaxfileupload.js實現ajax上傳文件php版_jquery:無論是PHP,還是其他的服務端腳本都提供了文件上傳功能,實現起來也比較簡單。而利用JavaScript來配合,即可實現Ajax方式的文件上傳。雖然jQuery本身沒有提供這樣的簡化函數,但有不少插件可以實現。其中,Phpletter.com提供的ajaxfileupload.
推薦度:
標簽: 上傳 上傳文件 php
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产一二三区在线 | 国内精品在线播放 | 日韩欧美国产中文字幕 | 一级黄免费| 欧美日韩另类在线 | 久久久久九九 | 国产丝袜在线视频 | 图片亚洲va欧美va国产综合 | 欧美 亚洲 中文字幕 | 免费亚洲网站 | 青青热久久综合网伊人 | 国产一区二区三区视频 | 在线视频日韩 | 精品精品国产高清a毛片牛牛 | 毛片一区二区三区 | 国产国产成人精品久久 | 国产第一夜| 欧美在线免费播放 | 日韩在线视频线视频免费网站 | 欧美综合在线观看 | 国产久草视频 | 欧美精品久久久亚洲 | 香蕉久久精品 | 国产欧美日韩在线 | 国内高清久久久久久久久 | 精品国产一区二区三区不卡蜜臂 | 久久久久女人精品毛片九一 | 欧美色图一区二区 | 精品亚洲一区二区 | 亚欧精品一区二区三区 | 久久99免费 | 日本乱人伦a综艺网站 | 日韩欧美一区二区三区在线播放 | 欧美精品国产综合久久 | 亚洲精品在线免费观看视频 | 欧美曰韩| 国产一页| 精品国产网站 | 国产精品一区视频 | 久久精品国产999久久久 | 国产精品毛片va一区二区三区 |