一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php無刷新利用iframe實現頁面無刷新上傳文件 - p

php無刷新利用iframe實現頁面無刷新上傳文件 - p

2024-10-30 11:00網絡整理 PHP教程

php無刷新利用iframe實現頁面無刷新上傳文件 利用form表單的target屬性和iframe一、上傳文件的一個php方法該方法接受一個$file參數,該參數為從客戶端獲取的$_files變量,返回重新命名后的文件名,如果上傳失敗,則返回空

php無刷新利用iframe實現頁面無刷新上傳文件

利用form表單的target屬性和iframe

一、上傳文件的一個php方法

該方法接受一個$file參數,該參數為從客戶端獲取的$_files變量,返回重新命名后的文件名,如果上傳失敗,則返回空字符串,php代碼如下:

function uploadfile($file) {           // 上傳路徑     $destinationpath = "./upload/";          if (!file_exists($destinationpath)){              mkdir($destinationpath , 0777);     }             //開源代碼phpfensi.com         //重命名         $filename = date('ymdhis') . '_' . iconv('utf-8' , 'gb2312' , basename($file['name']));          if (move_uploaded_file($file['tmp_name'], $destinationpath . $filename)) {         return iconv('gb2312' , 'utf-8' , $filename);          }     return '';        } 

二、客戶端html代碼

這里正是技巧所在,添加另一個iframe來實現,表單標簽form定義了一個屬性target,該屬性解釋如下.

target屬性:

_blank   ----------   新開窗口

_self   -----------   自身

_top   ------------   主框架

_parent   ---------   父框架

自定義名字  -----  出現于框架結構,將會在該名稱的框架內打開鏈接.

本例中采用iframe名字,所以表單在提交時會在iframe內打開鏈接,即無刷新,確切的說應該是感覺無刷新.

在表單提交時,調用startupload方法,當然這是js定義的,此外我們還定義一個span來顯示提示信息,代碼如下:

<form id="upform" action="upload.php" method="post" enctype="multipart/form-data" target="upload_target" onsubmit="startupload()"> 導入文件:<input type="file" name="myfile" id="myfile" />     <input type="submit" name="submitbtn" value="導入" /> <iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;">iframe>     form> <span id="info">span> 

三、js部分

這部分比較簡單,只是顯示提示信息,實例代碼如下:

function startupload() {          var spanobj = document.getelementbyid("info");     spanobj.innerhtml = " 開始上傳";      }      function stopupload(responsetext){     var spanobj = document.getelementbyid("info");          spanobj.innerhtml = " 上傳成功;     spanobj.innerhtml = responsetext;        }  

接下來就要看服務器端得處理了.

四、服務器段處理部分,php代碼如下:

$file = $_files['myfile'];   $filename = uploadfile($file);        $result = readfromfile("./upload/" . $filename); 此外在后面還應該加上一句js代碼用來調用stopupload方法。 javascript代碼       window.top.window.stopupload(""); 最后在補上php中的readfromfile方法,就大功告成了。 php代碼 //開源代碼phpfensi.com     function readfromfile($target_path) {          // 讀取文件內容     $file = fopen($target_path,'r') or die("unable to open file");          $filecontent = '';     while(!feof($file))          {         $str = fgets($file);              $filecontent .= $str;     }          fclose($file);     return $filecontent;        }

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男生同性视频twink在线 | 欧美日韩中文国产一区 | 国产在线步兵一区二区三区 | 视频在线观看一区二区三区 | 紧身牛仔裤美女被啪啪久久网 | 精品高潮呻吟99AV无码 | 日噜噜 | 天天综合五月天 | 午夜五月天 | 欧美大屁屁 | 被老外操 | 久久久久免费视频 | 日韩免费一级 | 日韩在线视频一区二区三区 | 大东北chinesexxxx露脸 | 非洲黑人gay巨大 | 国产精品成人麻豆专区 | 亚洲成人视屏 | 国产精品免费看香蕉 | 免费的强动漫人物的 | 亚洲国产精品综合久久网络 | 亚州日韩精品AV片无码中文 | 亚洲无人区乱码中文字幕 | 99热这里只有精品国产在热久久 | 天天操天天干天天做 | 日本 在线观看 | 无删减影视免费观看 | 国内精品久久久久小说网 | 日韩久久中文字幕 | 色倩网站 | 9191久久| 日本三级香港三级久久99 | 国产日韩欧美在线一区二区三区 | 天天色天天色天天色 | 国产手机在线观看 | 国产精品视频久久久久 | 国产成人免费高清激情明星 | 久久国产乱子伦精品免费不卡 | 王小军怎么了最新消息 | 非洲一级毛片又粗又长aaaa | 99手机在线视频 |