PHP获取以prefix开头的文件名

时间:2013-12-07 04:35:16

标签: php

这是一项自定义功能。此时,此函数将获取默认目录中的所有文件,删除“.php”并列出它们。

问题是我只想从具有起始前缀“tpl-”的目录中获取文件示例: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/>";
                }
        }

3 个答案:

答案 0 :(得分:15)

您需要更改preg_grep中的正则表达式:

$files = preg_grep('~^tpl-.*\.php$~', scandir(admin . "templates/default/"));

说明:

  1. ^tpl- - 以“tpl - ”

  2. 开头
  3. .* - 任何字符

  4. \.php$ - 以“.php”结尾

答案 1 :(得分:6)

我喜欢另一种简单的方法:

<强> 1。获取文件夹中的所有文件

   $path = './images'; 
   $files = glob($path.'/*');

<强> 2。获取所有扩展名为.jpg的文件

   $path = './images'; 
   $files = glob($path.'/*.jpg');

第3。获取所有前缀为myprefix _

的文件
   $path = './images'; 
   $files = glob($path.'/myprefix_*');

答案 2 :(得分:1)

 $target_file_png = glob($target_dir.'/group_'.$groupId.'*.png'); 

$target_file_png将返回一个数组,其中包含从$target_dir开始的路径'/group_'.$groupId.'中指定的文件夹中的所有文件,并将文件格式指定为*.png