PHP获取以prefix开头的文件名

问题描述 投票:14回答:3

这是一个自定义功能。此时,此函数将获取默认目录中的所有文件,删除“.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/>";
                }
        }
php
3个回答
15
投票

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

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

说明:

  1. ^tpl- - 以“tpl-”开头
  2. .* - 任何角色
  3. \.php$ - 以“.php”结尾

8
投票

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

1.获取文件夹中的所有文件

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

2.获取所有扩展名为.jpg的文件

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

3.获取所有具有前缀myprefix_的文件

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.