以前我們都會去做ajax+php實現檔案上傳,這樣可以在使用者不重新整理頁面是動態上傳圖片,提高了使用者體驗,那時用得最多的就是使用iframe來操作了,下面我介紹一下真正的ajax php圖片上傳執行個體。
之前一直在研究ajax+php的表單無重新整理驗證,主要是用在註冊提交表單上面的,ajax技術的使用使訪客對於網頁的友好度大大增加,作為提升頁面友好的最主要技術,ajax是必不可少的。
當然,ajax不僅僅只有表單的無重新整理驗證,還可以更好地應用到頁面的其它地方,凡是無重新整理的地方基本上都有ajax技術的身影,今天討論的是ajax+php無重新整理上傳圖片。
無重新整理上傳圖片的技術常常應用在上傳附件或圖片上傳,比如常見的QQ郵箱上傳附件,163郵箱上傳附件,QQ空間上傳圖片等,這類都是應用了ajax無重新整理的技術,可以讓我們在當前頁看到上傳的附件,而在一般的小網站後台,上傳產品時,往往看不到上傳的產品圖片的情況,這樣往往起不到很好的效果。
下面是一款ajax+php的無重新整理上傳圖片的源碼,這僅僅是一個執行個體,而修改這個執行個體便可以很好地應用在網頁當中,為你的頁面增加一款無重新整理的圖片上傳效果吧,這樣的效果很多,可以到網上去尋找。
file.php檔案
| 代碼如下 |
複製代碼 |
無標題文檔
$sort=12; $f_type=strtolower("swf,jpg,rar,zip,7z,iso,gif");//設定可上傳的檔案類型 $file_size_max=200*1024*1024;//限制單個檔案上傳最大容量 $overwrite = 0;//是否允許覆蓋相同檔案,1:允許,0:不允許 $f_input="Files";//設定上傳網域名稱稱 foreach($_FILES[$f_input]["error"] as $key => $error){ $up_error="no"; if ($error == UPLOAD_ERR_OK){ $f_name=$_FILES[$f_input]['name'][$key];//擷取上傳源檔案名稱 $uploadfile=$uploaddir.strtolower(basename($f_name)); $tmp_type=substr(strrchr($f_name,"."),1);//擷取副檔名 $tmp_type=strtolower($tmp_type); if(!stristr($f_type,$tmp_type)){ echo ""; $up_error="yes"; } if ($_FILES[$f_input]['size'][$key]>$file_size_max) { echo ""; $up_error="yes"; } if (file_exists($uploadfile)&&!$overwrite){ echo ""; $up_error="yes"; } $string = 'abcdefghijklmnopgrstuvwxyz0123456789'; $rand = ''; for ($x=0;$x<12;$x++) $rand .= substr($string,mt_rand(0,strlen($string)-1),1); $t=date("ymdHis").substr($gettime[0],2,6).$rand; $attdir="./file/"; if(!is_dir($attdir)) { mkdir($attdir);} $uploadfile=$attdir.$t.".".$tmp_type; if(($up_error!="yes") and (move_uploaded_file($_FILES[$f_input]['tmp_name']
[$key], $uploadfile))){ $_msg=$_msg.$f_name.'上傳成功n'; } else{ $_msg=$_msg.$f_name.'上傳失敗n'; } } } echo ""; ?>
|
fileupload.htm頁面
http://www.bkjia.com/PHPjc/632815.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632815.htmlTechArticle以前我們都會去做ajax+php實現檔案上傳,這樣可以在使用者不重新整理頁面是動態上傳圖片,提高了使用者體驗,那時用得最多的就是使用iframe來操作...