加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何创建向后循环以查找第一个匹配的文件

发布时间:2020-12-13 17:04:49 所属栏目:PHP教程 来源:网络整理
导读:我正在寻找的是如何构建一个函数,该函数使子文件夹循环通过它并在目录层次结构中向后查找指定的第一个匹配文件. 一个例子是我可以说我有目录结构: 主页/文件夹1 /文件夹2 /文件夹3 我正在寻找文件style.css. 我想开始指向子文件夹(文件夹3)并查找style.css,
我正在寻找的是如何构建一个函数,该函数使子文件夹循环通过它并在目录层次结构中向后查找指定的第一个匹配文件.

一个例子是我可以说我有目录结构:
主页/文件夹1 /文件夹2 /文件夹3

我正在寻找文件style.css.

我想开始指向子文件夹(文件夹3)并查找style.css,如果它不存在,它将继续到父文件夹(文件夹2),依此类推.但它不应该比文件夹1更进一步.

如果有人知道如何做到这一点我将非常感激!

解决方法

一种快速而肮脏的方式是:

function traverse_backward($filename,$path,$min_depth) {
    // $path = '/home/user/projects/project1/static/css/'; 
    // $min_depth - the minimum level of the path;
    // $filename - the file name you are looking for,e.g. 'style.css'
    $path_parts = explode('/',$path);
    while (count($path_parts) > $min_depth) {
       $real_path = implode($path_parts,'/').'/';
       if (is_file($real_path.$filename)) {
          return $real_path;
       }
       array_pop($path_parts);
    }

    return false;
}
traverse_backward('t.php','/home/user/projects/test-www/static/css',3);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读