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

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

WBOY
WBOYOriginal
2016-06-13 08:45:18879Durchsuche

隐藏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);

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn