Index: branches/version-2_4/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSVCategory.php
===================================================================
--- branches/version-2_4/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSVCategory.php	(revision 18409)
+++ branches/version-2_4/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSVCategory.php	(revision 18525)
@@ -106,12 +106,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;    // 登録数
@@ -121,5 +123,4 @@
 
                     echo "■　CSV登録進捗状況 <br/><br/>\n";
-
                     while (!feof($fp) && !$err) {
                         $arrCSV = fgetcsv($fp, CSV_LINE_MAX);
@@ -192,6 +193,6 @@
                 exit;
                 break;
-            default:
-                break;
+        default:
+            break;
         }
 
@@ -342,19 +343,19 @@
      * CSVのカウント数を得る.
      *
-     * @param string $file_name ファイルパス
-     * @return mixed CSV のカウント数; $file_name が無効な場合は false
-     */
-    function lfCSVRecordCount($file_name) {
+     * @param resource $fp fopenを使用して作成したファイルポインタ
+     * @return integer CSV のカウント数
+     */
+    function lfCSVRecordCount($fp) {
         $count = 0;
-        $fp = fopen($file_name, "r");
-        if ($fp !== false) {
-            while(!feof($fp)) {
-                $arrCSV = fgetcsv($fp, CSV_LINE_MAX);
-                $count++;
-            }
-        } else {
-            return false;
-        }
-        return $count-1;
+        while(!feof($fp)) {
+            $arrCSV = fgetcsv($fp, CSV_LINE_MAX);
+            $count++;
+        }
+        // ファイルポインタを戻す
+        if (rewind($fp)) {
+            return $count-1;
+        } else {
+            SC_Utils_Ex::sfDispError("");
+        }
     }
 
Index: branches/version-2_4/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php
===================================================================
--- branches/version-2_4/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php	(revision 17941)
+++ branches/version-2_4/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php	(revision 18525)
@@ -109,9 +109,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;    // 登録数
@@ -490,17 +495,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("");
+        }
     }
 
