<?php
/**
file: fileupload.class.php 檔案上傳類fileupload
本類的例項物件用於處理上傳檔案,可以上傳乙個檔案,也可同時處理多個檔案上傳
*/class
fileupload
return
$this;
}/**
* 呼叫該方法上傳檔案
*@param string $filefile 上傳檔案的表單名稱
*@return bool 如果上傳成功返回數true
*/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 }}
檔案上傳類
檔案上傳類 成員屬性有 需要初始化的成員 檔案上傳路徑,允許上傳字尾,允許上傳的mime,允許上傳的檔案大小,是否啟用隨即名,加上檔案字首,自定義的錯誤號碼和錯誤資訊 要儲存的檔案資訊 檔名,檔案字尾,檔案大小,檔案mime,檔案臨時名 對外公開的方法 uploadfile key 上傳成功返回檔案...
檔案上傳類
注 不要複製以下的 經測試,報內有異常字元,並且定位到 檔案未尾,時有時無極不穩定,應該逐字敲入。檔案fileupload.class.php file fileupload.class.php檔案上傳類fileupload 本類的例項物件用於處理上傳檔案,可以上傳乙個檔案,也可同時處理多個檔案上傳...
多檔案上傳類
多檔案上傳類 修改 linvo 2008 2 15 class more file upload function destruct function show execute message fileerror,filename,filetype,filesize self destruct el...