資源描述:
《基于php的ajax技術(shù)實(shí)現(xiàn)文件異步上傳--》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、基于PHP的AJAX技術(shù)實(shí)現(xiàn)文件異步上傳>> 異步的文件上傳是在現(xiàn)代的AJAX實(shí)現(xiàn)的E)來傳輸文件。這個(gè)功能實(shí)現(xiàn)的效果是頁面在上傳文件的時(shí)候,用戶還可以使用該頁面并且填寫文件描述?! ∵@個(gè)例子是我們引用AJAX的經(jīng)典案例進(jìn)行分析的?! ∠到y(tǒng)環(huán)境 ·較新版本的瀏覽器。例如Opera,F(xiàn)irefox或者InterExplorer?! HP4.3.0或更高版本 ·PHP5版本 ·PHP中的'short_open_tag'選項(xiàng)開啟(否則會(huì)發(fā)生解析錯(cuò)誤)?! 」δ芊治觥 ⊥ㄟ^內(nèi)置的IFRAME(框架)進(jìn)行文件上傳。具備包括三個(gè)部分組成。 ·在頁
2、面中間有一個(gè)簡單的<form...表單,表單只包含了<inputtype="file"...>控件。這個(gè)表單的目標(biāo)鏈接就是一個(gè)隱藏得IFRAME(通過CSS的風(fēng)格"display:none;"實(shí)現(xiàn))并且表單里面唯一一個(gè)控件的OnChange事件用來觸發(fā)JavaScript函數(shù)。這個(gè)函數(shù)的作用是檢查用戶提交的擴(kuò)展名,然后提交表單?! ぴ诜?wù)器端用PHP編寫了一個(gè)處理過程(用FILEFRAME坐> echo'<html><head><title>-</title></head><body>'; echo'<scriptlanguage="JavaSc
3、ript"type="text/javascript">'.""; echo'varparDoc=ent;'; ' if($result=='OK') { echo'parDoc.getElementById("upload_status").value="filesuccessfullyuploaded";'; echo'parDoc.getElementById("filename").value="'.$filename.'";'; echo'parDoc.getElementById("filenamei").value="'.$
4、filename.'";'; echo'parDoc.getElementById("upload_button").disabled=false;'; } else { echo'parDoc.getElementById("upload_status").value="ERROR:'.$result_msg.'";'; } echo"".'</script></body></html>'; exit();}functionsafehtml($s){ $s=str_replace("","amp;",$s); $s=str_replace
5、("<","lt;",$s); $s=str_replace(">","gt;",$s); $s=str_replace("'","apos;",$s); $s=str_replace(""","quot;",$s); return$s;}if(isset($_POST['description'])){ $filename=$_POST['filename']; $size=filesize($upload_dir.'/'.$filename); $date=date('r',filemtime($upload_dir.'/'.$filenam
6、e)); $description=safehtml($_POST['description']); $html=<<<END?。糷tml><head><title>{$filename}[uploadedbyIFRAMEAsyncfileuploader]</title></head> <body> ?。糷1>{$filename}</h1> ?。紁>Thisisafileinformationpageforyouruploadedfile.Bookmarkit,orsendtoanyone...</p> ?。紁>Date:{$date}</p>
7、 ?。紁>Size:{$size}bytes</p> ?。紁>Description: ?。紁re>{$description}</pre> ?。?p> ?。紁><ahref="{$e}"style="font-size:large;">doall;">backtofileuploading</a><br> ?。糰href="{$l"style="font-size:small;">upload-log</a></p> <br><br>Exampleby<ahref="">AnyExample</a>?。?body></html> END; $
8、f=fopen($upload_dir.'/'.$filename.'-desc.html',"l); fclose($f