2012-09-26 75 views
1

我有一個使用glob()函數的wordpress主題。問題是我的託管公司已禁用glob()。如何修改代碼,以便它的工作原理使用其他PHP函數php glob()的替代品

這裏是代碼(執行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

您是否有充分理由相信您的主機將啓用其他文件系統功能? – Jon

+0

不,我不知道。試試吧 –

+0

@Ibrahim:然後嘗試運行任何調用opendir的代碼? – wen

回答

1

您可以使用opendir組合,readdirclosedir,建議您使用 。

// 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類。