:::

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,.pngimage/jpg,image/gif,image/pngimage/*
  • $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:必填,有四種類型:subdirfileimagethumbs
  • $dir:非必填,欲替換的名稱

:::

搜尋

QR Code 區塊

https%3A%2F%2Fwww.tad0616.net%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D15%26tbdsn%3D367

書籍目錄

展開 | 闔起

線上使用者

219人線上 (9人在瀏覽線上書籍)

會員: 0

訪客: 219

更多…