国产探花免费观看_亚洲丰满少妇自慰呻吟_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);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南开区| 四平市| 成都市| 达日县| 醴陵市| 五原县| 南皮县| 霍城县| 长寿区| 汉川市| 怀化市| 秦皇岛市| 怀集县| 江都市| 通州区| 沙洋县| 明水县| 上栗县| 宿州市| 池州市| 蒲城县| 阿尔山市| 科技| 石棉县| 加查县| 云龙县| 西藏| 青铜峡市| 桂林市| 依兰县| 桂林市| 寿阳县| 诸城市| 水富县| 诸城市| 元氏县| 凯里市| 西青区| 桦川县| 榆社县| 建平县|