1

glob() 関数を使用するワードプレスのテーマがあります。問題は、私のホスティング会社が glob() を無効にしていることです。他のphp関数を使用して動作するようにコードを変更する方法(おそらくopendir()?)

コードは次のとおりです。

function yiw_get_tabs_path_files() {          
$theme_files_path = YIW_THEME_FUNC_DIR . 'theme-options/';
$core_files_path  = YIW_FRAMEWORK_PATH . 'theme-options/options/';

$tabs = array();

foreach ( glob( $theme_files_path . '*.php' ) as $filename ) {
    preg_match( '/(.*)-options\.(.*)/', basename( $filename ), $filename_parts );
    $tab = $filename_parts[1];

    $tabs[$tab] = $filename;
}

foreach ( glob( $core_files_path . '*.php' ) as $filename ) {
    preg_match( '/(.*)-options\.(.*)/', basename( $filename ), $filename_parts );
    $tab = $filename_parts[1];

    $tabs[$tab] = $filename;
}

return $tabs;

}

4

1 に答える 1

1

あなたが提案したように、 opendirreaddir、およびclosedirの組み合わせを使用できます。

// open the directory
if ($handle = opendir($file_path)) {

  // iterate over the directory entries
  while (false !== ($entry = readdir($handle))) {

    // match on .php extension
    if (preg_match('/\.php$/', $entry) {
      ...
    }
  }

  // close the directory
  closedir($handle);
}

これらも無効になっている場合は、オブジェクト指向のDirectoryクラスを試すことができます。

于 2012-09-26T10:40:58.883 に答える