Index: branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php	(revision 20562)
+++ branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php	(revision 20687)
@@ -438,20 +438,11 @@
 
         $objQuery =& SC_Query_Ex::getSingletonInstance();
-        $csv_data = "";
         $success = true;
 
-        //$bkup_dir = $bkup_dir . $bkup_name . "/";
-
-        //バックアップフォルダに移動する
-        chdir($bkup_dir);
-
         //圧縮フラグTRUEはgzip解凍をおこなう
-        $tar = new Archive_Tar($bkup_name . $bkup_ext, TRUE);
-
+        $tar = new Archive_Tar($bkup_dir . $bkup_name . $bkup_ext, TRUE);
+        
         //指定されたフォルダ内に解凍する
-        $success = $tar->extract("./");
-
-        //バックアップフォルダに移動する
-        chdir($bkup_dir . $bkup_name . "/");
+        $success = $tar->extract($bkup_dir);
 
         // 無事解凍できれば、リストアを行う
@@ -465,5 +456,5 @@
 
             // INSERT実行
-            if ($success) $success = $this->lfExeInsertSQL($objQuery, $bkup_dir . "bkup_data.csv", $mode);
+            if ($success) $success = $this->lfExeInsertSQL($objQuery, $bkup_dir . $bkup_name . "/bkup_data.csv", $mode);
 
             // 自動採番の値をセット
@@ -505,4 +496,8 @@
         // csvファイルからデータの取得
         $fp = fopen($csv, 'r');
+        if($fp === false) {
+            SC_Utils_Ex::sfDispException($csv . ' のファイルオープンに失敗しました。');
+        }
+        
         while (!feof($fp)) {
             $data = fgetcsv($fp, 1000000);
@@ -534,5 +529,5 @@
             if (!$col_flg) {
                 if ($mode != "restore_config"){
-                    for($i = 0; $i < count($data)-1; $i++){
+                    for($i = 0; $i < count($data); $i++){
                         $arrCol[$i] = $data[$i];
                     }
@@ -542,6 +537,8 @@
             }
 
-            for($i = 0; $i < count($data)-1; $i++) {
-                $arrVal[$arrCol[$i]] = $data[$i];
+            for($i = 0; $i < count($data); $i++) {
+                if($arrCol[$i] != '') {
+                    $arrVal[$arrCol[$i]] = $data[$i];
+                }
             }
 
