php
define('no_file', '不存在上傳檔案');
define('not_allow_ext', '檔案型別不在允許範圍內');
define('not_allow_size', '檔案大小不在允許範圍內');
define('has_the_file', '該檔案已經存在');
define('upload_failed', '上傳失敗');
define('upload_success', '上傳成功');
class file_uploader
function do_upload()
if($this->chk_size())
if($this->neednewname) $this->newname = $this->generate_name().".".$this->get_fileext();
if($this->chk_hasfile())
$filename = empty($this->newname) ? @iconv('utf-8','gb2312',$this->_filename) : $this->newname;
@chmod($this->_filedir.$filename, 0777);
if(move_uploaded_file($this->_filetmpname, $this->_filedir.$filename))else
} function chk_ext()
function chk_size()程式設計客棧
function get_filesize()
function get_fileext()
function generate_name()
function chk_hasfile()
function error($tip)
function result()else
}}/***使用方法與引數說明***/
/***
第乙個引數$dir 為上傳檔案存放的路徑
第二個引數為$_files 為你那個上傳檔案變數
第三個引數允許檔案大小 單位為mb
第四個引數允許的檔案型別 格式為jpg|png|gif
第五個引數是否需要生成新的檔名
第六個引數為返回的提示格式 0為直接提示上傳正確 1則返回乙個陣列array('filename' => $filename, 'filesize' => $this->_filesize, 'tip' => upload_success);
***/
//require("類檔案");
//$u = new file_uploader;
//$u->ready($dir, $_files['upload_file'], false, false, 程式設計客棧true, 0);
//echo $u->do_upload();
?>
呼叫方法
**如下
$dir = 'upload/';
require("upload_class.php");
$u = new file_uploader;
$u->ready($dir, $_files['upload_file'], false, false, true, 0);
echo $u->do_upload();
補充說明:在編碼上面還是有些問題,自己是在utf8的頁面將資料進行提交的,所以生成的檔案如果保持原來的中文名字的話在資料夾中看到就是亂碼的名字,如果不想出現亂碼的話需要進行一下編碼的轉換。
本文標題: 乙個完整的php檔案上傳類例項講解
本文位址:
PHP中的乙個很好用的檔案上傳類
class fileupload else 定義不同的錯誤級別 private function geterror 時出錯 switch this errornum 個位元組 break case 3 str.上傳失敗 break case 4 str.建立存放上傳目錄失敗,請重新指定上傳目錄 br...
PHP中的乙個很好用的檔案上傳類
class fileupload else 定義不同的錯誤級別 private function geterror 時出錯 switch this errornum 個位元組 break case 3 str.上傳失敗 break case 4 str.建立存放上傳目錄失敗,請重新指定上傳目錄 br...
自己寫的乙個PHP上傳類
主要功能 檔案上傳,獲取檔名,獲取檔案大小,隨機生成新檔名,獲取檔案型別,生成縮圖,返回縮略 件名,返回上傳後生成的檔案的檔名,返回上傳後的檔案路徑 class ieb upload if dirpath else 檢查檔案是否存在 function scanfile return scan 獲取檔...