6-6-2
用 TadUpFiles 上傳附檔
您沒有觀看影片的權限
請先登入,登入後,確認您的權限後,即可觀看影片。
- 若要使用任何上傳功能,都可以使用TadUpFiles物件,可參考:https://www.tad0616.net/modules/tad_book3/page.php?tbsn=15&tbdsn=367
- 修改
sql\mysql.sql
加入TadUpFiles 需要的資料表
CREATE TABLE `tad_signup_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;
- 接著請至資料庫建立之
- 修改
xoops_version.php
加入資料表的移除設定
//---模組資料表架構---//
$modversion['sqlfile']['mysql'] = 'sql/mysql.sql';
$modversion['tables'] = ['tad_signup_actions', 'tad_signup_data', 'tad_signup_data_center', 'tad_signup_files_center'];
- 修改
class\Tad_signup_actions.php
,先加入
use XoopsModules\Tadtools\TadUpFiles;
- 接著修改
create()
,加入:
//編輯表單
public static function create($id = '')
{
global $xoopsTpl, $xoopsUser;
/*--略--*/
$TadUpFiles = new TadUpFiles("tad_signup");
$TadUpFiles->set_col('action_id', $id);
$upform = $TadUpFiles->upform(true, 'upfile');
$xoopsTpl->assign("upform", $upform);
}
- 在
templates\op_tad_signup_actions_create.tpl
加入上傳欄位,<form>
一定要有 enctype="multipart/form-data"
屬性
<div class="form-group row">
<label class="col-sm-2 control-label col-form-label text-md-right">
上傳附件
</label>
<div class="col-sm-10">
<{$upform}>
</div>
</div>
- 修改
class\Tad_signup_actions.php
的 store()
以便儲存時上傳檔案
//新增資料
public static function store()
{
/*--略--*/
//取得最後新增資料的流水編號
$id = $xoopsDB->getInsertId();
$TadUpFiles = new TadUpFiles("tad_signup");
$TadUpFiles->set_col('action_id', $id);
$TadUpFiles->upload_file('upfile', 1280, 240, null, null, true);
return $id;
}
- 修改
class\Tad_signup_actions.php
的 update()
以便修改時上傳檔案
//更新某一筆資料
public static function update($id = '')
{
/*--略--*/
$TadUpFiles = new TadUpFiles("tad_signup");
$TadUpFiles->set_col('action_id', $id);
$TadUpFiles->upload_file('upfile', 1280, 240, null, null, true);
return $id;
}
- 修改
class\Tad_signup_actions.php
的 destroy()
以便刪除時也刪掉檔案
//刪除某筆資料資料
public static function destroy($id = '')
{
/*--略--*/
$TadUpFiles = new TadUpFiles("tad_signup");
$TadUpFiles->set_col('action_id', $id);
$TadUpFiles->del_files();
}
link to https://github.com/tadlearn/tad_signup/commit/030c45626bb0c22a85333a01419189f5c98cf579 \