:::

6-6-2 用 TadUpFiles 上傳附檔

您沒有觀看影片的權限

您沒有觀看影片的權限

請先登入,登入後,確認您的權限後,即可觀看影片。

  1. 若要使用任何上傳功能,都可以使用TadUpFiles物件,可參考:https://www.tad0616.net/modules/tad_book3/page.php?tbsn=15&tbdsn=367
  2. 修改 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;

     

  3. 接著請至資料庫建立之
  4. 修改 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'];

     

  5. 修改 class\Tad_signup_actions.php,先加入
    use XoopsModules\Tadtools\TadUpFiles;

     

  6. 接著修改 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);
    }

     

  7. 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>

     

  8. 修改 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;
    }

     

  9. 修改 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;
    }

     

  10. 修改 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 \


:::

搜尋

QR Code 區塊

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

書籍目錄

展開 | 闔起

線上使用者

35人線上 (11人在瀏覽線上書籍)

會員: 0

訪客: 35

更多…