当前位置: 首页>>代码示例>>PHP>>正文


PHP Utils::sfEncodeFile方法代码示例

本文整理汇总了PHP中Eccube\Framework\Util\Utils::sfEncodeFile方法的典型用法代码示例。如果您正苦于以下问题:PHP Utils::sfEncodeFile方法的具体用法?PHP Utils::sfEncodeFile怎么用?PHP Utils::sfEncodeFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Eccube\Framework\Util\Utils的用法示例。


在下文中一共展示了Utils::sfEncodeFile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: doUploadCsv

 /**
  * CSVアップロードを実行します.
  *
  * @return void
  */
 public function doUploadCsv(&$objFormParam, &$objUpFile)
 {
     // ファイルアップロードのチェック
     $this->arrErr['csv_file'] = $objUpFile->makeTempFile('csv_file');
     if (strlen($this->arrErr['csv_file']) >= 1) {
         return;
     }
     $arrErr = $objUpFile->checkExists();
     if (count($arrErr) > 0) {
         $this->arrErr = $arrErr;
         return;
     }
     // 一時ファイル名の取得
     $filepath = $objUpFile->getTempFilePath('csv_file');
     // CSVファイルの文字コード変換
     $enc_filepath = Utils::sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_REALDIR);
     // CSVファイルのオープン
     $fp = fopen($enc_filepath, 'r');
     // 失敗した場合はエラー表示
     if (!$fp) {
         Utils::sfDispError('');
     }
     // 登録先テーブル カラム情報の初期化
     $this->lfInitTableInfo();
     // 登録フォーム カラム情報
     $this->arrFormKeyList = $objFormParam->getKeyList();
     $objQuery = Application::alias('eccube.query');
     $objQuery->begin();
     // CSVからの読み込み、入力エラーチェック
     $errFlag = $this->lfReadCSVFile($objFormParam, $fp);
     if (!$errFlag) {
         rewind($fp);
         // CSVからの読み込み、保存
         $errFlag = $this->lfReadCSVFile($objFormParam, $fp, $objQuery);
     }
     // 実行結果画面を表示
     $this->tpl_mainpage = 'products/upload_csv_complete.tpl';
     fclose($fp);
     if ($errFlag) {
         $objQuery->rollback();
         return;
     }
     $objQuery->commit();
     // 商品件数カウント関数の実行
     $this->objDb->countCategory($objQuery);
     $this->objDb->countMaker($objQuery);
 }
开发者ID:ChigusaYasoda,项目名称:ec-cube,代码行数:52,代码来源:UploadCSV.php

示例2: doUploadCsv

 /**
  * CSVアップロードを実行する
  *
  * @param  FormParam  $objFormParam
  * @param  UploadFile $objUpFile
  * @return void
  */
 public function doUploadCsv(&$objFormParam, &$objUpFile)
 {
     // ファイルアップロードのチェック
     $objUpFile->makeTempFile('csv_file');
     $arrErr = $objUpFile->checkExists();
     if (count($arrErr) > 0) {
         $this->arrErr = $arrErr;
         return;
     }
     // 一時ファイル名の取得
     $filepath = $objUpFile->getTempFilePath('csv_file');
     // CSVファイルの文字コード変換
     $enc_filepath = Utils::sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_REALDIR);
     // CSVファイルのオープン
     $fp = fopen($enc_filepath, 'r');
     // 失敗した場合はエラー表示
     if (!$fp) {
         Utils::sfDispError('');
     }
     // 登録先テーブル カラム情報の初期化
     $this->lfInitTableInfo();
     // 登録フォーム カラム情報
     $this->arrFormKeyList = $objFormParam->getKeyList();
     // 登録対象の列数
     $col_max_count = $objFormParam->getCount();
     // 行数
     $line_count = 0;
     $objQuery = Application::alias('eccube.query');
     $objQuery->begin();
     $errFlag = false;
     while (!feof($fp)) {
         $arrCSV = fgetcsv($fp, CSV_LINE_MAX);
         // 行カウント
         $line_count++;
         // ヘッダ行はスキップ
         if ($line_count == 1) {
             continue;
         }
         // 空行はスキップ
         if (empty($arrCSV)) {
             continue;
         }
         // 列数が異なる場合はエラー
         $col_count = count($arrCSV);
         if ($col_max_count != $col_count) {
             $this->addRowErr($line_count, '※ 項目数が' . $col_count . '個検出されました。項目数は' . $col_max_count . '個になります。');
             $errFlag = true;
             break;
         }
         // シーケンス配列を格納する。
         $objFormParam->setParam($arrCSV, true);
         // 入力値の変換
         $objFormParam->convParam();
         // <br>なしでエラー取得する。
         $arrCSVErr = $this->lfCheckError($objFormParam);
         // 入力エラーチェック
         if (count($arrCSVErr) > 0) {
             foreach ($arrCSVErr as $err) {
                 $this->addRowErr($line_count, $err);
             }
             $errFlag = true;
             break;
         }
         $category_id = $this->lfRegisterCategory($line_count, $objFormParam);
         $this->addRowResult($line_count, 'カテゴリID:' . $category_id . ' / カテゴリ名:' . $objFormParam->getValue('category_name'));
     }
     // 実行結果画面を表示
     $this->tpl_mainpage = 'products/upload_csv_category_complete.tpl';
     fclose($fp);
     if ($errFlag) {
         $objQuery->rollback();
         return;
     }
     $objQuery->commit();
     // カテゴリ件数を更新
     /* @var $objDb DbHelper */
     $objDb = Application::alias('eccube.helper.db');
     $objDb->countCategory($objQuery);
     return;
 }
开发者ID:ChigusaYasoda,项目名称:ec-cube,代码行数:87,代码来源:UploadCSVCategory.php


注:本文中的Eccube\Framework\Util\Utils::sfEncodeFile方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。