source: temp/trunk/html/admin/system/bkup.php @ 5807

Revision 5807, 12.1 KB checked in by kakinaka, 20 years ago (diff)

blank

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?php
2
3require_once("../require.php");
4require_once("../../../data/module/Tar.php");
5//require_once("./Tar.php");
6
7//¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹
8class LC_Page {
9    //¥³¥ó¥¹¥È¥é¥¯¥¿
10    function LC_Page() {
11        //¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤Î»ØÄê
12        $this->tpl_mainpage = 'system/bkup.tpl';
13        $this->tpl_subnavi = 'system/subnavi.tpl';
14        $this->tpl_mainno = 'system';       
15        $this->tpl_subno = 'bkup';
16        $this->tpl_subtitle = '¥Ð¥Ã¥¯¥¢¥Ã¥×´ÉÍý';
17       
18//      $this->bkup_dir = ROOT_DIR . USER_DIR . "bkup/";
19        $this->bkup_dir = ROOT_DIR . "html/test/" . "bkup/";
20//      $this->bkup_dir = "../../test/bkup/";
21    }
22}
23
24$objPage = new LC_Page();
25$objView = new SC_AdminView();
26$objQuery = new SC_Query();
27
28// ¥»¥Ã¥·¥ç¥ó¥¯¥é¥¹
29$objSess = new SC_Session();
30// ǧ¾Ú²ÄÈݤÎȽÄê
31sfIsSuccess($objSess);
32
33// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥Ö¥ë¤¬¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë
34lfCreateBkupTable();
35
36switch($_POST['mode']) {
37// ¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºîÀ®¤¹¤ë
38case 'bkup':
39    // ÆþÎÏʸ»úÎó¤ÎÊÑ´¹
40    $arrData = lfConvertParam($_POST);
41
42    // ¥¨¥é¡¼¥Á¥§¥Ã¥¯
43    $arrErr = lfCheckError($arrData);
44
45    // ¥¨¥é¡¼¤¬¤Ê¤±¤ì¤Ð¥Ð¥Ã¥¯¥¢¥Ã¥×½èÍý¤ò¹Ô¤¦   
46    if (count($arrErr) <= 0) {
47        // ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ëºîÀ®
48        $arrErr = lfCreateBkupData($arrData['bkup_name']);
49       
50        // DB¤Ë¥Ç¡¼¥¿¹¹¿·
51        if (count($arrErr) <= 0) {
52            lfUpdBkupData($arrData);
53        }else{
54            $arrForm = $arrData;
55        }
56    }else{
57        $arrForm = $arrData;
58    }
59
60    break;
61   
62// ¥ê¥¹¥È¥¢
63case 'restore':
64case 'restore_config':
65    if ($_POST['mode'] == 'restore_config') {
66        $objPage->mode = "restore_config";
67    }
68
69    lfRestore($_POST['list_name']);
70
71    break;
72   
73// ºï½ü
74case 'del':
75    // ¥Õ¥¡¥¤¥ë¤Îºï½ü
76    unlink($objPage->bkup_dir.$_POST['list_name'] . ".tar.gz");
77
78    // DB¤«¤éºï½ü
79    $delsql = "DELETE FROM dtb_bkup WHERE bkup_name = ?";
80    $objQuery->query($delsql, array($_POST['list_name']));
81
82    break;
83default:
84    break;
85}
86
87// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
88$arrBkupList = lfGetBkupData("ORDER BY create_date DESC");
89
90// ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ËÅϤ¹¥Ç¡¼¥¿¤ò¥»¥Ã¥È
91$objPage->arrErr = $arrErr;
92$objPage->arrForm = $arrForm;
93$objPage->arrBkupList = $arrBkupList;
94
95$objView->assignobj($objPage);      //ÊÑ¿ô¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¥¢¥µ¥¤¥ó¤¹¤ë
96$objView->display(MAIN_FRAME);      //¥Æ¥ó¥×¥ì¡¼¥È¤Î½ÐÎÏ
97
98//-------------------------------------------------------------------------------------------------------
99/* ¼èÆÀʸ»úÎó¤ÎÊÑ´¹ */
100function lfConvertParam($array) {
101    /*
102     *  ʸ»úÎó¤ÎÊÑ´¹
103     *  K :  ¡ÖȾ³Ñ(ŽÊŽÝ޶ޏ)ÊÒ²¾Ì¾¡×¤ò¡ÖÁ´³ÑÊÒ²¾Ì¾¡×¤ËÊÑ´¹
104     *  C :  ¡ÖÁ´³Ñ¤Ò¤é²¾Ì¾¡×¤ò¡ÖÁ´³Ñ¤«¤¿²¾Ì¾¡×¤ËÊÑ´¹
105     *  V :  ÂùÅÀÉÕ¤­¤Îʸ»ú¤ò°ìʸ»ú¤ËÊÑ´¹¡£"K","H"¤È¶¦¤Ë»ÈÍѤ·¤Þ¤¹ 
106     *  n :  ¡ÖÁ´³Ñ¡×¿ô»ú¤ò¡ÖȾ³Ñ(ŽÊŽÝ޶ޏ)¡×¤ËÊÑ´¹
107     *  a :  Á´³Ñ±Ñ¿ô»ú¤òȾ³Ñ±Ñ¿ô»ú¤ËÊÑ´¹¤¹¤ë
108     */
109    $arrConvList['bkup_name'] = "a";
110    $arrConvList['bkup_memo'] = "KVa";
111   
112    // ʸ»úÊÑ´¹
113    foreach ($arrConvList as $key => $val) {
114        // POST¤µ¤ì¤Æ¤­¤¿ÃͤΤßÊÑ´¹¤¹¤ë¡£
115        if(isset($array[$key])) {
116            $array[$key] = mb_convert_kana($array[$key] ,$val);
117        }
118    }
119    return $array;
120}
121
122// ¥¨¥é¡¼¥Á¥§¥Ã¥¯
123function lfCheckError($array){
124    $objErr = new SC_CheckError($array);
125   
126    $objErr->doFunc(array("¥Ð¥Ã¥¯¥¢¥Ã¥×̾", "bkup_name", STEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK","NO_SPTAB","ALNUM_CHECK"));
127    $objErr->doFunc(array("¥Ð¥Ã¥¯¥¢¥Ã¥×¥á¥â", "bkup_memo", MTEXT_LEN), array("MAX_LENGTH_CHECK"));
128   
129    // ½ÅÊ£¥Á¥§¥Ã¥¯
130    $ret = lfGetBkupData("WHERE bkup_name = ?", array($array['bkup_name']));
131    if (count($ret) > 0) {
132        $objErr->arrErr['bkup_name'] = "¥Ð¥Ã¥¯¥¢¥Ã¥×̾¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£ÊÌ̾¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£";
133    }
134
135    return $objErr->arrErr;
136}
137
138// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ëºîÀ®
139function lfCreateBkupData($bkup_name){
140    global $objPage;
141    $objQuery = new SC_Query();
142    $csv_data = "";
143    $csv_autoinc = "";
144    $err = true;
145   
146    $bkup_dir = $objPage->bkup_dir;
147    $bkup_dir = $bkup_dir . $bkup_name . "/";
148
149    // Á´¥Æ¡¼¥Ö¥ë¼èÆÀ
150    $arrTableList = lfGetTableList();
151   
152    // ³Æ¥Æ¡¼¥Ö¥ë¾ðÊó¤ò¼èÆÀ¤¹¤ë
153    foreach($arrTableList as $key => $val){
154       
155        if ($val != "dtb_bkup") {
156           
157            // ¼«Æ°ºÎÈÖ·¿¤Î¹½À®¤ò¼èÆÀ¤¹¤ë
158            $csv_autoinc .= lfGetAutoIncrement($val);
159           
160            // Á´¥Ç¡¼¥¿¤ò¼èÆÀ
161            $arrData = $objQuery->getAll("SELECT * FROM $val");
162   
163            // CSV¥Ç¡¼¥¿À¸À®
164            if (count($arrData) > 0) {
165               
166                // ¥«¥é¥à¤òCSV·Á¼°¤ËÀ°¤¨¤ë
167                $arrKyes = sfGetCommaList(array_keys($arrData[0]), false);
168               
169                // ¥Ç¡¼¥¿¤òCSV·Á¼°¤ËÀ°¤¨¤ë
170                $data = "";
171                foreach($arrData as $data_key => $data_val){
172                    $data .= lfGetCSVList($arrData[$data_key]);
173                }
174                // CSV½ÐÎϥǡ¼¥¿À¸À®
175                $csv_data .= $val . "\n";
176                $csv_data .= $arrKyes . "\n";
177                $csv_data .= $data;
178                $csv_data .= "\n";
179            }   
180        }
181    }
182
183    $csv_file = $bkup_dir . "bkup_data.csv";
184    $csv_autoinc_file = $bkup_dir . "autoinc_data.csv";
185    // CSV½ÐÎÏ
186    // ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë     
187    if (!is_dir(dirname($csv_file))) {
188        $err = mkdir(dirname($csv_file));
189    }
190    if ($err) {
191        // data¤òCSV½ÐÎÏ
192        $fp = fopen($csv_file,"w");
193        if($fp) {
194            if($csv_data != ""){
195                $err = fwrite($fp, $csv_data);
196            }
197            fclose($fp);
198        }
199       
200        // ¼«Æ°ºÎÈÖ¤òCSV½ÐÎÏ
201        $fp = fopen($csv_autoinc_file,"w");
202        if($fp) {
203            if($csv_autoinc != ""){
204                $err = fwrite($fp, $csv_autoinc);
205            }
206            fclose($fp);
207        }
208    }
209
210    // ¾¦ÉʲèÁü¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼
211    if ($err) {
212        // ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë     
213        $image_dir = $bkup_dir . "save_image/";
214        if (!is_dir(dirname($image_dir))) $err = mkdir(dirname($image_dir));       
215        $copy_mess = "";
216        $copy_mess = sfCopyDir("../../upload/save_image/",$image_dir, $copy_mess);
217
218        //°µ½Ì¥Õ¥é¥°TRUE¤Ïgzip°µ½Ì¤ò¤ª¤³¤Ê¤¦
219        $tar = new Archive_Tar($objPage->bkup_dir . $bkup_name.".tar.gz", TRUE);
220
221        //bkup¥Õ¥©¥ë¥À¤Ë°Üư¤¹¤ë
222        chdir($objPage->bkup_dir);
223
224        //°µ½Ì¤ò¤ª¤³¤Ê¤¦
225        $zip = $tar->create("./" . $bkup_name . "/");
226
227        // ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Ç¡¼¥¿¤Îºï½ü
228        if ($zip) sfDelFile($bkup_dir);
229    }
230
231    if (!$err) {
232        $arrErr['bkup_name'] = "¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£";
233        // ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Ç¡¼¥¿¤Îºï½ü
234        sfDelFile($bkup_dir);
235    }
236   
237    return $arrErr;
238}
239
240/* ÇÛÎó¤ÎÍ×ÁǤòCSV¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç½ÐÎϤ¹¤ë¡£*/
241function lfGetCSVList($array) {
242    if (count($array) > 0) {
243        foreach($array as $key => $val) {
244            if ($val == "") {
245                $line .= "NULL,";
246            }else{
247                $line .= "'".$val."',";
248            }
249        }
250        $line = ereg_replace(",$", "\n", $line);
251        return $line;
252    }else{
253        return false;
254    }
255}
256
257// Á´¥Æ¡¼¥Ö¥ë¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
258function lfGetTableList(){
259    $objQuery = new SC_Query();
260   
261    if(DB_TYPE == "pgsql"){
262        $sql = "SELECT tablename FROM pg_tables WHERE tableowner = ? ORDER BY tablename ; ";
263        $arrRet = $objQuery->getAll($sql, array(DB_USER));
264        $arrRet = sfSwapArray($arrRet);
265        $arrRet = $arrRet['tablename'];
266    }else if(DB_TYPE == "mysql"){
267        $sql = "SHOW TABLES;";
268        $arrRet = $objQuery->getAll($sql);
269        $arrRet = sfSwapArray($arrRet);
270        $arrRet = $arrRet['Tables_in_eccube_db'];
271    }
272   
273    return $arrRet;
274}
275
276// ¼«Æ°ºÎÈÖ·¿¤òCSV½ÐÎÏ·Á¼°¤ËÊÑ´¹¤¹¤ë
277function lfGetAutoIncrement($table_name){
278    $arrColList = lfGetColumnList($table_name);
279    $ret = "";
280   
281    if(DB_TYPE == "pgsql"){
282        $match = 'nextval(\'';
283    }else if(DB_TYPE == "mysql"){
284        $match = "auto_incr";
285    }
286
287    foreach($arrColList['col_def'] as $key => $val){
288       
289        if (substr($val,0,9) == $match) {
290            $col = $arrColList['col_name'][$key];
291            $autoVal = lfGetAutoIncrementVal($table_name, $col);
292            $ret .= "$table_name,$col,$autoVal\n";
293        }
294    }
295   
296    return $ret;
297}
298
299// ¥Æ¡¼¥Ö¥ë¹½À®¤ò¼èÆÀ¤¹¤ë
300function lfGetColumnList($table_name){
301    $objQuery = new SC_Query();
302
303    if(DB_TYPE == "pgsql"){
304        $sql = "SELECT
305                    a.attname, t.typname, a.attnotnull, d.adsrc as defval, a.atttypmod, a.attnum as fldnum, e.description
306                FROM
307                    pg_class c,
308                    pg_type t,
309                    pg_attribute a left join pg_attrdef d on (a.attrelid=d.adrelid and a.attnum=d.adnum)
310                                   left join pg_description e on (a.attrelid=e.objoid and a.attnum=e.objsubid)
311                WHERE (c.relname=?) AND (c.oid=a.attrelid) AND (a.atttypid=t.oid) AND a.attnum > 0
312                ORDER BY fldnum";
313        $arrColList = $objQuery->getAll($sql, array($table_name));
314        $arrColList = sfSwapArray($arrColList);
315       
316        $arrRet['col_def'] = $arrColList['defval'];
317        $arrRet['col_name'] = $arrColList['attname'];
318    }else if(DB_TYPE == "mysql"){
319        $sql = "SHOW COLUMNS FROM $table_name";
320        $arrColList = $objQuery->getAll($sql);
321        $arrColList = sfSwapArray($arrColList);
322       
323        $arrRet['col_def'] = $arrColList['Extra'];
324        $arrRet['col_name'] = $arrColList['Field'];
325    }
326    return $arrRet;
327}
328
329// ¼«Æ°ºÎÈÖ·¿¤ÎÃͤò¼èÆÀ¤¹¤ë
330function lfGetAutoIncrementVal($table_name , $colname = ""){
331    $objQuery = new SC_Query();
332    $ret = "";
333
334    if(DB_TYPE == "pgsql"){
335        $ret = $objQuery->nextval($table_name, $colname);
336    }else if(DB_TYPE == "mysql"){
337        $sql = "SHOW TABLE STATUS LIKE ?";
338        $arrData = $objQuery->getRow($sql, array($table_name));
339        $ret = $arrData['Auto_increment'];
340       
341        sfprintr($arrData);
342    }
343    return $ret;
344}
345
346// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥Ö¥ë¤Ë¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë
347function lfUpdBkupData($data){
348    $objQuery = new SC_Query();
349   
350    $sql = "INSERT INTO dtb_bkup (bkup_name,bkup_memo,create_date) values (?,?,now())";
351    $objQuery->query($sql, array($data['bkup_name'],$data['bkup_memo']));
352}
353
354// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥Ö¥ë¤«¤é¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
355function lfGetBkupData($where = "", $data = array()){
356    $objQuery = new SC_Query();
357   
358    $sql = "SELECT bkup_name, bkup_memo, create_date FROM dtb_bkup ";
359    if ($where != "")   $sql .= $where;
360   
361    $ret = $objQuery->getall($sql,$data);
362   
363    return $ret;
364}
365
366// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤ò¥ê¥¹¥È¥¢¤¹¤ë
367function lfRestore($bkup_name){
368    global $objPage;
369    $objQuery = new SC_Query("", false);
370    $csv_data = "";
371    $err = true;
372   
373    $bkup_dir = $objPage->bkup_dir . $bkup_name . "/";
374   
375    //file¥Õ¥©¥ë¥À¤Ë°Üư¤¹¤ë
376    chdir($objPage->bkup_dir);
377   
378    //°µ½Ì¥Õ¥é¥°TRUE¤Ïgzip²òÅà¤ò¤ª¤³¤Ê¤¦
379    $tar = new Archive_Tar($bkup_name . ".tar.gz", TRUE);
380   
381    //»ØÄꤵ¤ì¤¿¥Õ¥©¥ë¥ÀÆâ¤Ë²òÅह¤ë
382    $err = $tar->extract("./");
383   
384    // ̵»ö²òÅà¤Ç¤­¤ì¤Ð¡¢¥ê¥¹¥È¥¢¤ò¹Ô¤¦
385    if ($err) {
386       
387        $objQuery->begin();
388       
389        // DB¤ò¥¯¥ê¥¢
390        $err = lfDeleteAll($objQuery);
391       
392        // INSERT¼Â¹Ô
393        if ($err) $err = lfExeInsertSQL($objQuery, $bkup_dir . "bkup_data.csv");
394
395        // ¼«Æ°ºÎÈÖ¤ÎÃͤò¥»¥Ã¥È
396        if ($err) lfSetAutoInc($objQuery, $bkup_dir . "autoinc_data.csv");
397
398        if ($err) {
399            // ²èÁü¤Î¥³¥Ô¡¼
400            $image_dir = $bkup_dir . "save_image/";
401            $copy_mess = "";
402            $copy_mess = sfCopyDir($image_dir, "../../upload/save_image/", $copy_mess);     
403   
404            // ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Ç¡¼¥¿¤Îºï½ü
405            sfDelFile($bkup_dir);
406        }
407       
408        // ¥ê¥¹¥È¥¢À®¸ù¤Ê¤é¥³¥ß¥Ã¥È¼ºÇԤʤé¥í¡¼¥ë¥Ð¥Ã¥¯
409        if ($err) {
410            $objQuery->commit();
411            $objPage->restore_msg = "¥ê¥¹¥È¥¢½ªÎ»¤·¤Þ¤·¤¿¡£";
412            $objPage->restore_err = true;
413        }else{
414            $objQuery->rollback();
415            $objPage->restore_msg = "¥ê¥¹¥È¥¢¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£";
416            $objPage->restore_name = $bkup_name;
417            $objPage->restore_err = false;
418        }
419    }
420}
421
422// CSV¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥µ¡¼¥È¼Â¹Ô
423function lfExeInsertSQL($objQuery, $csv){
424    global $objPage;
425    // csv¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤Î¼èÆÀ
426    $arrCsvData = file($csv);
427
428    $sql = "";
429    $base_sql = "";
430    $tbl_flg = false;
431    $col_flg = false;
432    $ret = true;
433    $mode = $objPage->mode;
434       
435    foreach($arrCsvData as $key => $val){
436        $data = trim($val);
437       
438        //¶õÇò¹Ô¤Î¤È¤­¤Ï¥Æ¡¼¥Ö¥ëÊѹ¹
439        if ($data == "") {
440            $base_sql = "";
441            $tbl_flg = false;
442            $col_flg = false;
443            continue;
444        }
445       
446        // ¥Æ¡¼¥Ö¥ë¥Õ¥é¥°¤¬¤¿¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¥Æ¡¼¥Ö¥ë̾¥»¥Ã¥È
447        if (!$tbl_flg) {
448            $base_sql = "INSERT INTO $data ";
449            $tbl_flg = true;
450            continue;
451        }
452       
453        // ¥«¥é¥à¥Õ¥é¥°¤¬¤¿¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¥«¥é¥à¥»¥Ã¥È
454        if (!$col_flg) {
455            if ($mode != "restore_config"){
456                $base_sql .= " ($data) ";
457            }
458            $col_flg = true;
459            continue;
460        }
461
462        // ¥¤¥ó¥µ¡¼¥È¤¹¤ëÃͤò¥»¥Ã¥È
463        $sql = $base_sql . "VALUES ($data);\n";
464        $err = $objQuery->query($sql);
465       
466        // ¥¨¥é¡¼¤¬¤¢¤ì¤Ð½ªÎ»
467        if ($err->message != ""){
468            return false;
469        }
470    }
471    return $ret;
472}
473
474// ¼«Æ°ºÎÈÖ¤ò¥»¥Ã¥È
475function lfSetAutoInc($objQuery, $csv){
476    // csv¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤Î¼èÆÀ
477    $arrCsvData = file($csv);
478   
479    foreach($arrCsvData as $key => $val){
480        $arrData = split(",", trim($val));
481        $objQuery->setval($arrData[0], $arrData[1], $arrData[2]);
482    }
483}
484
485// DB¤òÁ´¤Æ¥¯¥ê¥¢¤¹¤ë
486function lfDeleteAll($objQuery){
487    $ret = true;
488
489    $arrTableList = lfGetTableList();
490   
491    foreach($arrTableList as $key => $val){
492        // ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥Ö¥ë¤Ïºï½ü¤·¤Ê¤¤
493        if ($val != "dtb_bkup") {
494            $trun_sql = "DELETE FROM $val;";
495            $ret = $objQuery->query($trun_sql);
496           
497            if (!$ret) return $ret;
498        }
499    }
500   
501    return $ret;
502}
503
504// ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë
505function lfCreateBkupTable(){
506    $objQuery = new SC_Query();
507   
508    // ¥Æ¡¼¥Ö¥ë¤Î¸ºß¥Á¥§¥Ã¥¯
509    $arrTableList = lfGetTableList();
510   
511    if(!in_array("dtb_bkup", $arrTableList)){
512        // ¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤ÐºîÀ®
513        $cre_sql = "
514            create table dtb_bkup
515            (
516                bkup_name   text,
517                bkup_memo   text,
518                create_date timestamp
519            );
520        ";
521       
522        $objQuery->query($cre_sql);
523    }
524}
525
526
527?>
Note: See TracBrowser for help on using the repository browser.