Ignore:
Timestamp:
2010/01/22 11:59:55 (14 years ago)
Author:
nanasess
bzr:base-revision:
svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_4-dev:18500
bzr:committer:
Kentaro Ohkouchi <Kentaro_Ohkouchi@lockon.co.jp>
bzr:file-ids:

data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php 15472@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Fproducts%2FLC_Page_Admin_Products_UploadCSV.php
data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSVCategory.php 17047@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fversion-2%2Fdata%2Fclass%2Fpages%2Fadmin%2Fproducts%2FLC_Page_Admin_Products_UploadCSVCategory.php
bzr:mapping-version:
v4
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
kentaro_ohkouchi@lockon.co.jp-20100122025953-sc9ark00ws992l3f
bzr:revno:
1910
bzr:revprop:branch-nick:
branches/version-2_4-dev
bzr:root:
branches/version-2_4-dev
bzr:text-parents:

data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_4:17941
data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSVCategory.php svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_4-dev:18477
bzr:timestamp:
2010-01-22 11:59:53.355999947 +0900
bzr:user-agent:
bzr2.0.1+bzr-svn1.0.1
svn:original-date:
2010-01-22T02:59:53.356000Z
Message:

CSVアップロードで無限ループの可能性があるのを修正(#566)

Location:
branches/version-2_4-dev
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_4-dev

    • Property bzr:see-revprops set to 18501
  • branches/version-2_4-dev/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php

    r17941 r18501  
    109109                $enc_filepath = SC_Utils_Ex::sfEncodeFile($filepath, 
    110110                                                          CHAR_CODE, CSV_TEMP_DIR); 
     111                $fp = fopen($enc_filepath, "r"); 
     112 
     113                // 無効なファイルポインタが渡された場合はエラー表示 
     114                if ($fp === false) { 
     115                    SC_Utils_Ex::sfDispError(""); 
     116                } 
    111117 
    112118                // レコード数を得る 
    113                 $rec_count = $this->lfCSVRecordCount($enc_filepath); 
    114  
    115                 $fp = fopen($enc_filepath, "r"); 
     119                $rec_count = $this->lfCSVRecordCount($fp); 
     120 
    116121                $line = 0;      // 行数 
    117122                $regist = 0;    // 登録数 
     
    490495     * CSVのカウント数を得る. 
    491496     * 
    492      * @param string $file_name ファイルパス 
     497     * @param resource $fp fopenを使用して作成したファイルポインタ 
    493498     * @return integer CSV のカウント数 
    494499     */ 
    495     function lfCSVRecordCount($file_name) { 
     500    function lfCSVRecordCount($fp) { 
    496501 
    497502        $count = 0; 
    498         $fp = fopen($file_name, "r"); 
    499503        while(!feof($fp)) { 
    500504            $arrCSV = fgetcsv($fp, CSV_LINE_MAX); 
    501505            $count++; 
    502506        } 
    503  
    504         return $count-1; 
     507        // ファイルポインタを戻す 
     508        if (rewind($fp)) { 
     509            return $count-1; 
     510        } else { 
     511            SC_Utils_Ex::sfDispError(""); 
     512        } 
    505513    } 
    506514 
Note: See TracChangeset for help on using the changeset viewer.