Ignore:
Timestamp:
2010/02/12 18:13:28 (14 years ago)
Author:
kajiwara
Message:

Ver2.4.3にアップデート

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSVCategory.php

    r18432 r18561  
    106106                    CHAR_CODE, CSV_TEMP_DIR); 
    107107 
     108                    $fp = fopen($enc_filepath, "r"); 
     109 
     110                    // 無効なファイルポインタが渡された場合はエラー表示 
     111                    if ($fp === false) { 
     112                        SC_Utils_Ex::sfDispError(""); 
     113                    } 
     114 
    108115                    // レコード数を得る 
    109                     $rec_count = $this->lfCSVRecordCount($enc_filepath); 
    110                     if ($rec_count === false) { 
    111                         $err = false; 
    112                         $arrErr['bad_file_pointer'] = "※ 不正なファイルポインタが検出されました"; 
    113                     } 
    114  
    115                     $fp = fopen($enc_filepath, "r"); 
     116                    $rec_count = $this->lfCSVRecordCount($fp); 
     117 
    116118                    $line = 0;      // 行数 
    117119                    $regist = 0;    // 登録数 
     
    121123 
    122124                    echo "■ CSV登録進捗状況 <br/><br/>\n"; 
    123  
    124125                    while (!feof($fp) && !$err) { 
    125126                        $arrCSV = fgetcsv($fp, CSV_LINE_MAX); 
     
    192193                exit; 
    193194                break; 
    194             default: 
    195                 break; 
     195        default: 
     196            break; 
    196197        } 
    197198 
     
    342343     * CSVのカウント数を得る. 
    343344     * 
    344      * @param string $file_name ファイルパス 
    345      * @return mixed CSV のカウント数; $file_name が無効な場合は false 
    346      */ 
    347     function lfCSVRecordCount($file_name) { 
     345     * @param resource $fp fopenを使用して作成したファイルポインタ 
     346     * @return integer CSV のカウント数 
     347     */ 
     348    function lfCSVRecordCount($fp) { 
    348349        $count = 0; 
    349         $fp = fopen($file_name, "r"); 
    350         if ($fp !== false) { 
    351             while(!feof($fp)) { 
    352                 $arrCSV = fgetcsv($fp, CSV_LINE_MAX); 
    353                 $count++; 
    354             } 
    355         } else { 
    356             return false; 
    357         } 
    358         return $count-1; 
     350        while(!feof($fp)) { 
     351            $arrCSV = fgetcsv($fp, CSV_LINE_MAX); 
     352            $count++; 
     353        } 
     354        // ファイルポインタを戻す 
     355        if (rewind($fp)) { 
     356            return $count-1; 
     357        } else { 
     358            SC_Utils_Ex::sfDispError(""); 
     359        } 
    359360    } 
    360361 
Note: See TracChangeset for help on using the changeset viewer.