Index: /temp/branches/ec-cube-beta/html/admin/products/upload_csv.php
===================================================================
--- /temp/branches/ec-cube-beta/html/admin/products/upload_csv.php	(revision 10614)
+++ /temp/branches/ec-cube-beta/html/admin/products/upload_csv.php	(revision 10616)
@@ -55,4 +55,8 @@
 		// ¥¨¥ó¥³¡¼¥É
 		$enc_filepath = sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_DIR);
+		
+		// ¥ì¥³¡¼¥É¿ô¤òÆÀ¤ë
+		$rec_count = lfCSVRecordCount($enc_filepath);		
+		
 		$fp = fopen($enc_filepath, "r");
 		$line = 0;		// ¹Ô¿ô
@@ -71,5 +75,14 @@
 				continue;
 			}			
-							
+
+			// ¼Â¹Ô»þ´Ö¤òÀ©¸Â¤·¤Ê¤¤
+			set_time_limit(0);
+	
+			// ½ÐÎÏ¤ò¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤·¤Ê¤¤(==ÆüËÜ¸ì¼«Æ°ÊÑ´¹¤â¤·¤Ê¤¤)
+			ob_end_clean();
+	
+			// IE¤Î¤¿¤á¤Ë256¥Ð¥¤¥È¶õÊ¸»ú½ÐÎÏ
+			echo str_pad('',256);
+												
 			// ¹àÌÜ¿ô¥«¥¦¥ó¥È
 			$max = count($arrCSV);
@@ -82,5 +95,5 @@
 			// ¹àÌÜ¿ô¥Á¥§¥Ã¥¯
 			if($max != $colmax) {
-				$objPage->arrCSVErr['blank'] = "¢¨ ¹àÌÜ¿ô¤¬" . $max . "¸Ä¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£¹àÌÜ¿ô¤Ï" . $colmax . "¸Ä¤Ë¤Ê¤ê¤Þ¤¹¡£";
+				echo "¢¨ ¹àÌÜ¿ô¤¬" . $max . "¸Ä¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£¹àÌÜ¿ô¤Ï" . $colmax . "¸Ä¤Ë¤Ê¤ê¤Þ¤¹¡£";
 				$err = true;
 			} else {
@@ -97,5 +110,5 @@
 			// ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯
 			if(count($objPage->arrCSVErr) > 0) {
-				$objPage->tpl_errtitle = "¢£" . $line . "¹ÔÌÜ¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£";
+				echo "¢£" . $line . "¹ÔÌÜ¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£";
 				$objPage->arrParam = $objFormParam->getHashArray();
 				$err = true;
@@ -106,4 +119,8 @@
 				$regist++;
 			}
+			$arrParam = $objFormParam->getHashArray();
+ 
+			if(!$err) echo $line." / ".$rec_count. "¹ÔÌÜ¡¡¡Ê¾¦ÉÊID¡§".$arrParam['product_id']." / ¾¦ÉÊÌ¾¡§".$arrParam['name'].")\n<br />";
+			flush();
 		}
 		fclose($fp);
@@ -111,5 +128,5 @@
 		if(!$err) {
 			$objQuery->commit();
-			$objPage->tpl_oktitle = "¢£" . $regist . "·ï¤Î¥ì¥³¡¼¥É¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£";
+			echo "¢£" . $regist . "·ï¤Î¥ì¥³¡¼¥É¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£";
 			// ¾¦ÉÊ·ï¿ô¥«¥¦¥ó¥È´Ø¿ô¤Î¼Â¹Ô
 			sfCategory_Count($objQuery);
@@ -128,11 +145,16 @@
 //--------------------------------------------------------------------------------------------------------------------------
 
-/* ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½ */
-function lfInitFile() {
+/* 
+ * ´Ø¿ôÌ¾¡§lfInitFile
+ * ÀâÌÀ¡¡¡§¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½
+ */function lfInitFile() {
 	global $objUpFile;
 	$objUpFile->addFile("CSV¥Õ¥¡¥¤¥ë", 'csv_file', array('csv'), CSV_SIZE, true, 0, 0, false);
 }
 
-/* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */
+/* 
+ * ´Ø¿ôÌ¾¡§lfInitParam
+ * ÀâÌÀ¡¡¡§ÆþÎÏ¾ðÊó¤Î½é´ü²½
+ */
 function lfInitParam() {
 	global $objFormParam;
@@ -200,5 +222,9 @@
 }
 
-/* ¾¦ÉÊ¤Î¿·µ¬ÄÉ²Ã */
+/* 
+ * ´Ø¿ôÌ¾¡§lfRegistProduct
+ * °ú¿ô1 ¡§SC_Query¥ª¥Ö¥¸¥§¥¯¥È
+ * ÀâÌÀ¡¡¡§¾¦ÉÊÅÐÏ¿
+ */
 function lfRegistProduct($objQuery) {
 	global $objFormParam;
@@ -294,5 +320,12 @@
 }
 
-/* µ¬³Ê¤ÎÅÐÏ¿ */
+/* 
+ * ´Ø¿ôÌ¾¡§lfRegistProductClass
+ * °ú¿ô1 ¡§SC_Query¥ª¥Ö¥¸¥§¥¯¥È
+ * °ú¿ô2 ¡§¾¦ÉÊµ¬³Ê¾ðÊóÇÛÎó
+ * °ú¿ô3 ¡§¾¦ÉÊID
+ * °ú¿ô4 ¡§¾¦ÉÊµ¬³ÊID
+ * ÀâÌÀ¡¡¡§¾¦ÉÊµ¬³ÊÅÐÏ¿
+ */
 function lfRegistProductClass($objQuery, $arrList, $product_id, $product_class_id) {
 	$sqlval['product_code'] = $arrList["product_code"];
@@ -327,5 +360,8 @@
 }
 
-/* ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ */
+/* 
+ * ´Ø¿ôÌ¾¡§lfCheckError
+ * ÀâÌÀ¡¡¡§ÆþÎÏ¥Á¥§¥Ã¥¯
+ */
 function lfCheckError() {
 	global $objFormParam;
@@ -357,3 +393,20 @@
 	return $objErr->arrErr;
 }
+
+/* 
+ * ´Ø¿ôÌ¾¡§lfCSVRecordCount
+ * ÀâÌÀ¡¡¡§CSV¤Î¥«¥¦¥ó¥È¿ô¤òÆÀ¤ë
+ * °ú¿ô1 ¡§¥Õ¥¡¥¤¥ë¥Ñ¥¹
+ */
+function lfCSVRecordCount($file_name) {
+	
+	$count = 0;
+	$fp = fopen($file_name, "r");
+	while(!feof($fp)) {
+		$arrCSV = fgetcsv($fp, CSV_LINE_MAX);
+		$count++;
+	}
+	
+	return $count-1;
+}
 ?>
