国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php iframe實現無刷新文件上傳

2024-09-04 11:45:02
字體:
來源:轉載
供稿:網友

首先ajax不能上傳文件,這誤導了我有段時間,今晚睡不著就照著說明做了個無刷新上傳文件,其實原理很簡單,代碼如下:

  1. <form enctype="multipart/form-data" method="POST" target="upload" action="http://localhost/class.upload.php" > 
  2.           <input type="file" name="uploadfile" /> 
  3.           <input type="submit" />  
  4. </form> 
  5. <iframe name="upload" style="display:none"></iframe> 

和一般的<form>標簽相比多了一個target屬性罷了,用于指定標簽頁在哪里打開以及提交數據,如果沒有設置該屬性,就會像平常一樣在本頁重定向打開action中的url.

而如果設置為iframe的name值,即"upload"的話,就會在該iframe內打開,因為CSS設置為隱藏,因而不會有任何動靜,若將display:none去掉,還會看到服務器的返回信息.

另外貼一下自己組織的類,代碼如下:

  1. class upload 
  2.    public $_file
  3.  
  4.    public function __construct( $name =null) 
  5.    { 
  6.        if(is_null($name) || !isset($_FILES[$name])) 
  7.             $name = key($_FILES); 
  8.              
  9.        if(!isset($_FILES[$name])) 
  10.            throw new Exception("并沒有文件上傳"); 
  11.             
  12.        $this->_file  = $_FILES[$name]; 
  13.         
  14.        if(!is_uploaded_file($this->_file['tmp_name'])) 
  15.             throw new Exception("異常情況"); 
  16.        if($this->_file['error'] !== 0) 
  17.             throw new Exception("錯誤代碼:".$this->_file['error']);      
  18.    } 
  19.    public function moveTo( $new_dir
  20.    { 
  21.        $real_dir = $this->checkDir($new_dir); 
  22.        return move_uploaded_file($this->_file['tmp_name'], $real_dir.'/'.$this->_file['name']); 
  23.    } 
  24.    private function checkDir($dir
  25.    {//開源代碼Vevb.com 
  26.        $real_dir = realpath($dir); 
  27.        if($real_dir === false) 
  28.            throw new Exception("給定目錄{$dir}不存在"); 
  29.        if(!is_writable($real_dir)) 
  30.            throw new Exception("給定目錄{$dir}不可寫"); 
  31.        return $real_dir
  32.    } 
  33.  

調用示例,代碼如下:

  1. $inputName =  'uploadfile';  
  2.  // 即<input type=“file" name="uploadfile" /> 中的name值,不填也行 
  3. $upload = new upload($inputName); 
  4. $new_dir = "/www";  // 將文件移動到的路徑 
  5. $upload->moveTo($new_dir);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太湖县| 株洲县| 佳木斯市| 梁山县| 轮台县| 阜阳市| 龙口市| 津南区| 临澧县| 建平县| 阜康市| 满洲里市| 盱眙县| 江达县| 平潭县| 贺州市| 鄂托克前旗| 雷山县| 历史| 积石山| 满城县| 汶川县| 登封市| 修水县| 句容市| 夏邑县| 大竹县| 胶南市| 宕昌县| 延安市| 建平县| 乐平市| 尼玛县| 淳安县| 达州市| 盘锦市| 玛曲县| 潞城市| 永济市| 灵武市| 嘉祥县|