Reputation: 1319
I have a wordpress theme that uses glob() function. THe problem is my hosting company has disabled glob(). how to modify the code so that it works using other php functions (opendir() maybe ?)
here is the code:
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;
}
Upvotes: 1
Views: 2778
Reputation: 3858
You can use the combination of opendir, readdir and closedir as you suggested.
// 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);
}
If these too are disabled, you can try the object-oriented Directory class.
Upvotes: 1