php+iframe實(shí)現(xiàn)隱藏?zé)o刷新上傳文件
其實(shí)原理很簡(jiǎn)單
<form enctype="multipart/form-data" method="POST" target="upload" action="http://localhost/class.upload.php" >
<input type="file" name="uploadfile" />
<input type="submit" />
</form>
<iframe name="upload" style="display:none"></iframe>
和一般的<form>標(biāo)簽相比多了一個(gè)target屬性罷了,用于指定標(biāo)簽頁(yè)在哪里打開(kāi)以及提交數(shù)據(jù)。
如果沒(méi)有設(shè)置該屬性,就會(huì)像平常一樣在本頁(yè)重定向打開(kāi)action中的url。
而如果設(shè)置為iframe的name值,即"upload"的話(huà),就會(huì)在該iframe內(nèi)打開(kāi),因?yàn)镃SS設(shè)置為隱藏,因而不會(huì)有任何動(dòng)靜。若將display:none去掉,還會(huì)看到服務(wù)器的返回信息。
另外貼一下自己組織的類(lèi)。
class upload
{
public $_file;
public function __construct( $name =null)
{
if(is_null($name) || !isset($_FILES[$name]))
$name = key($_FILES);
if(!isset($_FILES[$name]))
throw new Exception("并沒(méi)有文件上傳");
$this->_file = $_FILES[$name];
if(!is_uploaded_file($this->_file['tmp_name']))
throw new Exception("異常情況");
if($this->_file['error'] !== 0)
throw new Exception("錯(cuò)誤代碼:".$this->_file['error']);
}
public function moveTo( $new_dir)
{
$real_dir = $this->checkDir($new_dir);
return move_uploaded_file($this->_file['tmp_name'], $real_dir.'/'.$this->_file['name']);
}
private function checkDir($dir)
{
$real_dir = realpath($dir);
if($real_dir === false)
throw new Exception("給定目錄{$dir}不存在");
if(!is_writable($real_dir))
throw new Exception("給定目錄{$dir}不可寫(xiě)");
return $real_dir;
}}
調(diào)用示例:
$inputName = 'uploadfile';
// 即<input type=“file" name="uploadfile" /> 中的name值,不填也行
$upload = new upload($inputName);
$new_dir = "/www"; // 將文件移動(dòng)到的路徑
$upload->moveTo($new_dir);
- PHP+iframe模擬Ajax上傳文件功能示例
- PHP+iFrame實(shí)現(xiàn)頁(yè)面無(wú)需刷新的異步文件上傳
- php利用iframe實(shí)現(xiàn)無(wú)刷新文件上傳功能的代碼
- php表單文件iframe異步上傳實(shí)例講解
- php+js iframe實(shí)現(xiàn)上傳頭像界面無(wú)跳轉(zhuǎn)
- PHP+iframe圖片上傳實(shí)現(xiàn)即時(shí)刷新效果
- PHP 圖片文件上傳實(shí)現(xiàn)代碼
- 一個(gè)經(jīng)典的PHP文件上傳類(lèi)分享
- PHP文件上傳實(shí)例詳解!?。?/a>
- php+iframe 實(shí)現(xiàn)上傳文件功能示例
相關(guān)文章
php字符編碼轉(zhuǎn)換之gb2312轉(zhuǎn)為utf8
PHP輸出頁(yè)面時(shí)經(jīng)常有亂碼,怎么辦呢?今天我就提供一個(gè)方法,可以自動(dòng)判斷php字符編碼,把gbk或gb2312編碼的字符串轉(zhuǎn)為utf8 。2013-10-10PHP如何獲取訪(fǎng)問(wèn)者的IP地址和歸屬地方式詳解
在用PHP開(kāi)發(fā)程序的時(shí)候,很多時(shí)候我們需要獲取訪(fǎng)問(wèn)者的一些關(guān)鍵信息,比如訪(fǎng)問(wèn)者的IP地址或者訪(fǎng)問(wèn)者來(lái)自哪里(IP歸屬地),也便于我們對(duì)網(wǎng)站進(jìn)行一些內(nèi)容的限制或者功能的補(bǔ)充完善等等,本文就來(lái)教大家用PHP如何獲取訪(fǎng)問(wèn)者的IP地址和歸屬地2023-10-10Laravel 自動(dòng)轉(zhuǎn)換長(zhǎng)整型雪花 ID 為字符串的實(shí)現(xiàn)
這篇文章主要介紹了Laravel 自動(dòng)轉(zhuǎn)換長(zhǎng)整型雪花 ID 為字符串的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10PHP獲取遠(yuǎn)程http或ftp文件的md5值的方法
這篇文章主要介紹了PHP獲取遠(yuǎn)程http或ftp文件的md5值 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04php實(shí)現(xiàn)統(tǒng)計(jì)IP數(shù)及在線(xiàn)人數(shù)的示例代碼
這篇文章主要介紹了php實(shí)現(xiàn)統(tǒng)計(jì)IP數(shù)及在線(xiàn)人數(shù)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07php 字符串中的\n換行符無(wú)效、不能換行的解決方法
這篇文章主要介紹了php 字符串中的換行符無(wú)效、不能換行的解決方法,實(shí)際上是PHP的雙引號(hào)和單引號(hào)的使用問(wèn)題,需要的朋友可以參考下2014-04-04基于PHP實(shí)現(xiàn)通過(guò)照片獲取ip地址
在本教程中,我們將學(xué)習(xí)如何用一張照片來(lái)盜取ip地址。我的想法是通過(guò)修改.htaccess文件,將jpg文件當(dāng)作php文件來(lái)解析。感興趣的朋友一起學(xué)習(xí)吧2016-04-04PHP隨機(jī)獲取未被微信屏蔽的域名(微信域名檢測(cè))
這篇文章主要介紹了PHP隨機(jī)獲取未被微信屏蔽的域名(微信域名檢測(cè)),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03