注:不要複製以下的**,經測試,報內有異常字元,並且定位到**檔案未尾,時有時無極不穩定,應該逐字敲入。
檔案fileupload.class.php:
<?php/**file: fileupload.class.php檔案上傳類fileupload
本類的例項物件用於處理上傳檔案,可以上傳乙個檔案,也可同時處理多個檔案上傳
*/class
fileupload
return
$this
; }
/*** 呼叫該方法上傳檔案
* @paran : string $filefile 上傳檔案的表單名稱
* @return bool 如果上傳成功則返回true
*/public
function upload($filefield
)
//將檔案上傳的資訊取出賦給變數
$name = $_files[$filefield]['name'];
$tmp_name = $_files[$filefield]['tmp_name'];
$size = $_files[$filefield]['size'];
$error = $_files[$filefield]['error'];
//如果是多個檔案上傳,則$file["name"]會是乙個陣列
if(is_array($name
)) }
else
//如果有問題,則重新初始化屬性
if(!$return
)
$this->setfiles() ;
}if($return
)
$filenames = $this->newfilename;}}
$this->newfilename = $filenames
; }
$this->errormess = $errors
;
return
$return
;
//上傳單個檔案的處理方法
}else
else
}else
}else
//如果$return為false,則出錯,將錯誤資訊儲存在屬性errormess中
if(!$return
)
$this->errormess = $this->geterror();
return
$return
; }
}/**
* 獲取上傳後的檔名稱
* @param void 沒有引數
* @return string 上傳後,新檔案的名稱,如果是多檔案上傳則返回陣列
*/public
function
getfilename()
/***上傳失敗後,呼叫該方法則返回,上傳出錯資訊
* @param void沒有引數
* @return string 返回上傳檔案出錯的資訊報告,如果是多檔案上傳則返回陣列
*/public
function
geterrormsg()
/*設定上傳出錯資訊
*/private
function
geterror()時出錯:";
switch($this->errornum) 個位元組"; break
;
case -3: $str .= "上傳失敗"; break
;
case -4: $str .= "建立存放上傳檔案目錄失敗,請重新指定上傳目錄"; break
;
case -5: $str .= "必須指定上傳檔案的路徑"; break
;
default: $str .= "未知錯誤";
}return
$str. '
'; }
/*設定和$_ files有關的內容
*/private
function setfiles($name = '', $tmp_name = '', $size = 0, $error = 0)
/*為單個成員屬性設定值
*/private
function setoption($key, $val
)
/*設定上傳後的檔名稱
*/private
function
setnewfilename()else
}/*檢查上傳的檔案是否是合法的型別
*/private
function
checkfiletype()
else
}/*檢查上傳的檔案是否是允許的大小
*/private
function
checkfilesize()
else
}/*檢查是否有存放上傳檔案的目錄
*/private
function
checkfilepath()
if (!file_exists($this->path) || !is_writable($this->path))
}return
true
; }
/*設定隨機檔名
*/private
function
prorandname()
/*複製上傳檔案到指定的位置
*/private
function
copyfile()
else
}else
}}
應用:
1.前端單檔案:file.php
後端**:upload.php
<?php/**file: upload.php
使用檔案上傳類fileipload,處理單個和多個檔案上傳
*/require "fileupload.class.php"; //
載入檔案上傳類
$up = new fileupload; //
例項化檔案上傳物件
//可以通過set()方法設定上傳的屬性,可以設定多個屬性。set() 方法可以單獨呼叫,也可以連貫操作一起呼叫多個
$up->set('path', './newpath/') //
可以自己設定上傳檔案儲存的路徑
->set('size', 1000000) //
可以自已限制上傳檔案的大小
可以自己限制上傳檔案的型別
->set('israndname', false); //
可以使用原檔名,不讓系統命名*/
//呼叫$up物件的upload()方法上傳檔案, myfile是表單的名稱,上傳成功返回true,否則返回ralse
if( $up->upload('myfile') )
else
檔案上傳類
file fileupload.class.php 檔案上傳類fileupload 本類的例項物件用於處理上傳檔案,可以上傳乙個檔案,也可同時處理多個檔案上傳 class fileupload return this 呼叫該方法上傳檔案 param string filefile 上傳檔案的表單名稱...
檔案上傳類
檔案上傳類 成員屬性有 需要初始化的成員 檔案上傳路徑,允許上傳字尾,允許上傳的mime,允許上傳的檔案大小,是否啟用隨即名,加上檔案字首,自定義的錯誤號碼和錯誤資訊 要儲存的檔案資訊 檔名,檔案字尾,檔案大小,檔案mime,檔案臨時名 對外公開的方法 uploadfile key 上傳成功返回檔案...
多檔案上傳類
多檔案上傳類 修改 linvo 2008 2 15 class more file upload function destruct function show execute message fileerror,filename,filetype,filesize self destruct el...