PHP檔案上傳封裝成函式

2021-08-20 07:32:17 字數 1662 閱讀 5479

<?php 

header('content-type:text/html; charset=utf-8');

// 檔案上傳封裝函式

/*** @param1 array $file 上傳的檔案資訊(5屬性元素陣列)

* @param2 array $allow_type 允許上傳的mime型別

* @param3 string $path 儲存的路徑

* @param4 string &$error 如果出現錯誤的原因

* @param5 array $allow_format = array(); 允許上傳的檔案格式

* @param6 int max_size = 2000000 允許上傳的檔案大小

*/function upload_single($file, $allow_type, $path, &$error, $allow_format = array(), $max_size = 2000000)

// 判斷檔案儲存路徑是否有效

if (!is_dir($path))

// 判斷檔案本身上傳過程是否有錯誤

switch ($file['error'])

// 判斷mime型別

if (!in_array($file['type'], $allow_type))

// 判斷檔案格式是否允許

// 取出檔名的字尾

$ext = ltrim(strrchr($file['name'], '.'), '.');

if (!empty($allow_format) && !in_array($ext, $allow_format))

// 判斷當前檔案大小是否滿足要求

if ($file['size'] > $max_size)

// 構造檔案名字:型別_年月日+隨機字串.$ext

$fullname = strstr($file['type'], "/", true).'_'.date('ymd');

// 產生隨機字串

for ($i=0; $i < 4; $i++)

// 拼接上字尾

$fullname .= '.'.$ext;

// 經過條件限定後,移動到指定目錄

if (!is_uploaded_file($file['tmp_name']))

if (move_uploaded_file($file['tmp_name'], $path .'/'.$fullname)) else

} // 測試

?>

寫乙個html表單,上傳檔案空間name設定成userfile即可測試

PHP封裝成類(檔案上傳)

uploadfile.class.php created by phpstorm.user huang date 2017 7 19 time 23 20 header content type text html charset utf 8 new new upload class upload ...

php檔案上傳函式封裝

上傳檔案呼叫 file files image 允許上傳的型別 檔案的上傳 param array file 上傳的檔案的相關資訊 是乙個陣列有五個元素 param array allow 允許檔案上傳的型別 param string error 引用傳遞,用來記錄錯誤的資訊 param strin...

php封裝檔案上傳函式

created by phpstorm.user 17839 date 2020 3 23 time 10 54 header content type text html charset utf 8 檔案上傳 param file 接受的檔案 files file param mime 允許上傳檔...