Reputation: 401
This is a custom function. At the moment, this function get all the file in the default directory, strip ".php" and list them.
The problem is that I want to only get files from the directory which has starting prefix "tpl-" Example : tpl-login-page.php
/* Get template name of the file */
function get_template_name (){
$files = preg_grep('~\.(php)$~', scandir(admin . "templates/default/"));
foreach($files as $file){
$file = str_replace('.php','',$file);
echo $file . "<br/>";
}
}
Upvotes: 23
Views: 25635
Reputation: 23729
You need to change the regular expression in preg_grep:
$files = preg_grep('~^tpl-.*\.php$~', scandir(admin . "templates/default/"));
Explanation:
^tpl-
- starting with "tpl-"
.*
- any characters
\.php$
- ending with ".php"
Upvotes: 28
Reputation: 601
I like another, simple way:
1. get all files in folder
$path = './images';
$files = glob($path.'/*');
2. get all files having extension .jpg
$path = './images';
$files = glob($path.'/*.jpg');
3. get all files having prefix myprefix_
$path = './images';
$files = glob($path.'/myprefix_*');
Upvotes: 24
Reputation: 21
$target_file_png = glob($target_dir.'/group_'.$groupId.'*.png');
$target_file_png
will return an array containing all the files in folder specified in the path $target_dir
starting with '/group_'.$groupId.'
and specify the file format as *.png
Upvotes: 1