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

WBOY
リリース: 2016-06-13 08:45:18
オリジナル
936 人が閲覧しました

隐藏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);
ログイン後にコピー

 

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート