Rumah  >  Artikel  >  php教程  >  隐藏iframe无刷新上传文件,iframe刷新上传文件

隐藏iframe无刷新上传文件,iframe刷新上传文件

WBOY
WBOYasal
2016-06-13 08:45:18878semak imbas

隐藏iframe无刷新上传文件,iframe刷新上传文件

首先ajax不能上传文件,这误导了我有段时间,今晚睡不着就照着说明做了个无刷新上传文件

其实原理很简单

<form enctype="multipart/form-data" method="POST" target="upload" action="http://localhost/class.upload.php" ><br />          <input type="file" name="uploadfile" /><br />          <input type="submit" /> <br /></form><br /><iframe name="upload"></span>
<pre class="code">class upload<br />{<br />   public $_file;<br /><br />   public function __construct( $name =null)<br />   {<br />       if(is_null($name) || !isset($_FILES[$name]))<br />            $name = key($_FILES);<br />            <br />       if(!isset($_FILES[$name]))<br />           throw new Exception("并没有文件上传");<br />           <br />       $this->_file  = $_FILES[$name];<br />       <br />       if(!is_uploaded_file($this->_file['tmp_name']))<br />            throw new Exception("异常情况");<br />       if($this->_file['error'] !== 0)<br />            throw new Exception("错误代码:".$this->_file['error']);     <br />   }<br />   public function moveTo( $new_dir)<br />   {<br />       $real_dir = $this->checkDir($new_dir);<br />       return move_uploaded_file($this->_file['tmp_name'], $real_dir.'/'.$this->_file['name']);<br />   }<br />   private function checkDir($dir)<br />   {<br />       $real_dir = realpath($dir);<br />       if($real_dir === false)<br />           throw new Exception("给定目录{$dir}不存在");<br />       if(!is_writable($real_dir))<br />           throw new Exception("给定目录{$dir}不可写");<br />       return $real_dir;<br />   }
}

调用示例:

$inputName =  'uploadfile'; <br /> // 即<input type=&ldquo;file" name="uploadfile" /> 中的name值,不填也行<br />$upload = new upload($inputName);<br />$new_dir = "/www";  // 将文件移动到的路径<br />$upload->moveTo($new_dir);

 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn