Index: /branches/comu-ver2/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSVCategory.php
===================================================================
--- /branches/comu-ver2/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSVCategory.php	(revision 18462)
+++ /branches/comu-ver2/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSVCategory.php	(revision 18508)
@@ -107,12 +107,14 @@
                     CHAR_CODE, CSV_TEMP_DIR);
 
+                    $fp = fopen($enc_filepath, "r");
+
+                    // 無効なファイルポインタが渡された場合はエラー表示
+                    if ($fp === false) {
+                        SC_Utils_Ex::sfDispError("");
+                    }
+
                     // レコード数を得る
-                    $rec_count = $this->lfCSVRecordCount($enc_filepath);
-                    if ($rec_count === false) {
-                        $err = false;
-                        $arrErr['bad_file_pointer'] = "※ 不正なファイルポインタが検出されました";
-                    }
-
-                    $fp = fopen($enc_filepath, "r");
+                    $rec_count = $this->lfCSVRecordCount($fp);
+
                     $line = 0;      // 行数
                     $regist = 0;    // 登録数
@@ -365,19 +367,19 @@
      * CSVのカウント数を得る.
      *
-     * @param string $file_name ファイルパス
+     * @param string $fp fopenを使用して作成したファイルポインタ
      * @return mixed CSV のカウント数; $file_name が無効な場合は false
      */
-    function lfCSVRecordCount($file_name) {
+    function lfCSVRecordCount($fp) {
         $count = 0;
-        $fp = fopen($file_name, "r");
-        if ($fp !== false) {
-            while(!feof($fp)) {
-                $arrCSV = fgetcsv($fp, CSV_LINE_MAX);
-                $count++;
-            }
+        while(!feof($fp)) {
+            $arrCSV = fgetcsv($fp, CSV_LINE_MAX);
+            $count++;
+        }
+        // ファイルポインタを戻す
+        if (rewind($fp)) {
+            return $count-1;
         } else {
-            return false;
-        }
-        return $count-1;
+            SC_Utils_Ex::sfDispError("");
+        }
     }
 
Index: /branches/comu-ver2/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php
===================================================================
--- /branches/comu-ver2/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php	(revision 18275)
+++ /branches/comu-ver2/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php	(revision 18508)
@@ -112,9 +112,14 @@
                 $enc_filepath = SC_Utils_Ex::sfEncodeFile($filepath,
                                                           CHAR_CODE, CSV_TEMP_DIR);
+                $fp = fopen($enc_filepath, "r");
+
+                // 無効なファイルポインタが渡された場合はエラー表示
+                if ($fp === false) {
+                    SC_Utils_Ex::sfDispError("");
+                }
 
                 // レコード数を得る
-                $rec_count = $this->lfCSVRecordCount($enc_filepath);
-
-                $fp = fopen($enc_filepath, "r");
+                $rec_count = $this->lfCSVRecordCount($fp);
+
                 $line = 0;      // 行数
                 $regist = 0;    // 登録数
@@ -493,17 +498,20 @@
      * CSVのカウント数を得る.
      *
-     * @param string $file_name ファイルパス
+     * @param resource $fp fopenを使用して作成したファイルポインタ
      * @return integer CSV のカウント数
      */
-    function lfCSVRecordCount($file_name) {
+    function lfCSVRecordCount($fp) {
 
         $count = 0;
-        $fp = fopen($file_name, "r");
         while(!feof($fp)) {
             $arrCSV = fgetcsv($fp, CSV_LINE_MAX);
             $count++;
         }
-
-        return $count-1;
+        // ファイルポインタを戻す
+        if (rewind($fp)) {
+            return $count-1;
+        } else {
+            SC_Utils_Ex::sfDispError("");
+        }
     }
 
