/** * 指定パス配下のディレクトリ取得する. * * @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); }
/** * メーカー検索用選択リストを取得する * * @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; }