7.
XoopsModules\Tadtools\TadUpFiles 檔案上傳工具
use XoopsModules\Tadtools\TadUpFiles;
建立資料表
CREATE TABLE `模組名稱_files_center` (
`files_sn` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '檔案流水號',
`col_name` varchar(255) NOT NULL default '' COMMENT '欄位名稱',
`col_sn` smallint(5) unsigned NOT NULL default 0 COMMENT '欄位編號',
`sort` smallint(5) unsigned NOT NULL default 0 COMMENT '排序',
`kind` enum('img', 'file') NOT NULL default 'img' COMMENT '檔案種類',
`file_name` varchar(255) NOT NULL default '' COMMENT '檔案名稱',
`file_type` varchar(255) NOT NULL default '' COMMENT '檔案類型',
`file_size` int(10) unsigned NOT NULL default 0 COMMENT '檔案大小',
`description` text NOT NULL COMMENT '檔案說明',
`counter` mediumint(8) unsigned NOT NULL default 0 COMMENT '下載人次',
`original_filename` varchar(255) NOT NULL default '' COMMENT '檔案名稱',
`hash_filename` varchar(255) NOT NULL default '' COMMENT '加密檔案名稱',
`sub_dir` varchar(255) NOT NULL default '' COMMENT '檔案子路徑',
`upload_date` datetime NOT NULL COMMENT '上傳時間',
`uid` mediumint(8) unsigned NOT NULL default 0 COMMENT '上傳者',
`tag` varchar(255) NOT NULL default '' COMMENT '註記',
PRIMARY KEY (`files_sn`)
) ENGINE = MyISAM;
實例化(所有動作都要)
$TadUpFiles = new TadUpFiles($dir = '', $subdir = '', $file = '/file', $image = '/image', $thumbs = '/image/.thumbs');
$dir:模組目錄名稱
$subdir:設定子目錄,如 /logo
$file:一般檔案目錄
$image: 圖檔目錄
$thumbs:縮圖目錄
欄位綁定(所有動作都要)
$TadUpFiles->set_col($col_name, $col_sn);
$col_name:綁定的名稱(可用欄位名稱,自己知道代表的意義即可)
$col_sn:綁定的編號
產生上傳表單(完成實例化及綁定之後)
$TadUpFiles = new TadUpFiles('模組目錄');
$TadUpFiles->set_col($col_name, $col_sn);
$TadUpFiles->set_var("show_tip", false); //不顯示提示
$upform = $TadUpFiles->upform($show_edit = false, $upname = 'upfile', $maxlength = '', $show_list_del_file = true, $only_type = '', $thumb = true, $id = '', $show_filename = true);
$show_edit:顯示檔案管理工具時是否顯示編輯框
$upname:上傳欄位名稱(存入、讀出時要一致)
$maxlength:最大檔案數
$show_list_del_file:是否顯示檔案管理工具
$only_type:限定類型,如:.jpg,.gif,.png 或 image/jpg,image/gif,image/png 或 image/*
$thumb:顯示檔案管理工具時是否顯示縮圖
$id:上傳欄位的 id 屬性,未填會以 $upname 為預設值
$show_filename:顯示檔案管理工具時是否顯示檔名
上傳檔案(完成實例化及綁定之後)
$TadUpFiles = new TadUpFiles('模組目錄');
$TadUpFiles->set_col($col_name, $col_sn);
$TadUpFiles->upload_file($upname = 'upfile', $main_width = '1920', $thumb_width = '240', $files_sn = '', $desc = null, $safe_name = false, $hash = false, $return_col = 'file_name', $allow = '', $deny = 'php');
$upname:上傳欄位名稱(存入、讀出時要一致)
$main_width:圖檔寬度(圖片會縮小至該寬度)
$thumb_width:縮圖寬度(圖片會縮小至該寬度)
$files_sn:檔案編號
$desc:檔案說明
$safe_name:是否轉換成安全檔名,避免環境不接受中文檔名
$hash:是否進行檔名加密
$return_col:回傳哪個欄位的值(若需要回傳的話)
$allow:僅允許上傳的檔案格式,如:jpg;png;gif
$deny:不允許的上傳格式
顯示檔案(完成實例化及綁定之後)
$TadUpFiles = new TadUpFiles('模組目錄');
$TadUpFiles->set_col($col_name, $col_sn);
$show_files = $TadUpFiles->show_files($upname = '', $thumb = true, $show_mode = '', $show_description = false, $show_dl = false, $limit = null, $path = null, $hash = false, $playSpeed = 0, $desc_as_name = false, $keyword = '', $only_keyword = false, $target = '_self');
$upname:上傳欄位名稱(存入、讀出時要一致)$upname:上傳欄位名稱(存入、讀出時要一致)
$thumb:是否顯示縮圖
$show_mode:顯示模式,預設(空白)為縮圖,如:small(16x16小圖)、filename(條列式檔名列表)、file_text_url(檔名+連結文字)、file_url(檔案網址)、app(傳回 [url' , 'file_name' , 'dl_url'] 陣列)
$show_description:是否顯示說明
$show_dl:是否顯示下載數
$limit:顯示數量限制
$path:設定下載連結檔案位置,預設為 $_SERVER['PHP_SELF']
$hash:是否為加密檔案
$playSpeed:自動播放速度(毫秒)
$desc_as_name:將說明當作檔名
$keyword:關鍵字,搭配 $only_keyword 使用
$only_keyword:只顯示有關建字的檔案
$target:開啟檔案的目的地
僅顯示一個檔案(完成實例化及綁定之後)
$TadUpFiles = new TadUpFiles('模組目錄');
$TadUpFiles->set_col($col_name, $col_sn);
$filename = $TadUpFiles->get_pic_file($showkind = 'images', $show_kind = 'url', $files_sn = '', $hash = false);
$show_kind:顯示類型,images(大圖,預設)、thumb(小圖)、file(檔案)
$showkind:使用 url(網址)或 dir(實體路徑)
$files_sn:檔案編號,就可以無需綁定
$hash:是否有加密
刪除檔案(完成實例化及綁定之後)
$TadUpFiles = new TadUpFiles('模組目錄');
$TadUpFiles->set_col($col_name, $col_sn);
$TadUpFiles->del_files($files_sn = '');
$files_sn:檔案編號,非必填,除非知道某個檔案編號,且只要刪該檔案。
重製資料庫前置字串(當模組目錄和資料庫名稱不一致時)
$TadUpFiles = new TadUpFiles('模組目錄');
$TadUpFiles->set_db_prefix($db_prefix);
$db_prefix:資料庫的前置字串,例如模組目錄為 ck2_cart,但資料表卻想要叫 xx_ck2_stores_center,那麼該變數值即為 ck2_stores。
設定上傳目錄名稱(當和預設值不一致時)
$TadUpFiles = new TadUpFiles('模組目錄');
$TadUpFiles->set_dir($type, $dir = '');
$type:必填,有四種類型:subdir、file、image、thumbs
$dir:非必填,欲替換的名稱