コード例 #1
0
 /**
  * 指定パス配下のディレクトリ取得する.
  *
  * @param  string $dir 取得するディレクトリパス
  * @return void
  */
 public function sfGetFileList($dir)
 {
     $arrFileList = array();
     $arrDirList = array();
     if (is_dir($dir)) {
         $dh = opendir($dir);
         if ($dh) {
             $cnt = 0;
             $arrDir = array();
             // 行末の/を取り除く
             while (($file = readdir($dh)) !== false) {
                 $arrDir[] = $file;
             }
             $dir = rtrim($dir, '/');
             // アルファベットと数字でソート
             natcasesort($arrDir);
             foreach ($arrDir as $file) {
                 // ./ と ../を除くファイルのみを取得
                 if ($file != '.' && $file != '..') {
                     $path = $dir . '/' . $file;
                     // SELECT内の見た目を整えるため指定文字数で切る
                     $file_size = Utils::sfCutString($this->sfGetDirSize($path), FILE_NAME_LEN);
                     $file_time = date('Y/m/d', filemtime($path));
                     // ディレクトリとファイルで格納配列を変える
                     if (is_dir($path)) {
                         $arrDirList[$cnt]['file_name'] = $file;
                         $arrDirList[$cnt]['file_path'] = $path;
                         $arrDirList[$cnt]['file_size'] = $file_size;
                         $arrDirList[$cnt]['file_time'] = $file_time;
                         $arrDirList[$cnt]['is_dir'] = true;
                     } else {
                         $arrFileList[$cnt]['file_name'] = $file;
                         $arrFileList[$cnt]['file_path'] = $path;
                         $arrFileList[$cnt]['file_size'] = $file_size;
                         $arrFileList[$cnt]['file_time'] = $file_time;
                         $arrFileList[$cnt]['is_dir'] = false;
                     }
                     $cnt++;
                 }
             }
             closedir($dh);
         }
     }
     // フォルダを先頭にしてマージ
     return array_merge($arrDirList, $arrFileList);
 }
コード例 #2
0
 /**
  * メーカー検索用選択リストを取得する
  *
  * @return array $arrMakerList メーカー検索用選択リスト
  */
 public function lfGetMakerList()
 {
     /* @var $objDb DbHelper */
     $objDb = Application::alias('eccube.helper.db');
     // メーカー検索用選択リスト
     $arrMakerList = $objDb->getMakerList('', true);
     if (is_array($arrMakerList)) {
         // 文字サイズを制限する
         foreach ($arrMakerList as $key => $val) {
             $arrMakerList[$key] = Utils::sfCutString($val, SEARCH_CATEGORY_LEN, false);
         }
     }
     return $arrMakerList;
 }