Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带有链接的有限目录和子目录列表_Php_Html_Css - Fatal编程技术网

Php 带有链接的有限目录和子目录列表

Php 带有链接的有限目录和子目录列表,php,html,css,Php,Html,Css,作为导航的一部分,我试图列出目录和子目录(一级深度),但我不知道如何限制搜索深度 我想要达到的目标: |- <p>Directory</p> ||- <a>Sub Directory</a> ||- <a>Sub Directory</a> |- <p>Directory</p> ||- <a>Sub Directory</a> ||- <a>Sub Directo

作为导航的一部分,我试图列出目录和子目录(一级深度),但我不知道如何限制搜索深度

我想要达到的目标:

|- <p>Directory</p>
||- <a>Sub Directory</a>
||- <a>Sub Directory</a>
|- <p>Directory</p>
||- <a>Sub Directory</a>
||- <a>Sub Directory</a>
|-目录

||-'; }?>
我还发现这里有人在谈论列出子目录

function page_title($url) {
    $fp = file_get_contents($url);
    if (!$fp) 
        return null;

    $res = preg_match("/<title>(.*)<\/title>/siU", $fp, $title_matches);
    if (!$res) 
        return null; 

    // Clean up title: remove EOL's and excessive whitespace.
    $title = preg_replace('/\s+/', ' ', $title_matches[1]);
    $title = trim($title);
    return $title;
}

<?php function listFolderFiles($dir){
$ffs = scandir($dir);
echo '<ol>';
foreach($ffs as $ff){
    if($ff != '.' && $ff != '..'){
        echo '<li>'.$ff;
        if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
        echo '</li>';
    }
}
echo '</ol>';
}

listFolderFiles('../../'); ?>
功能页\标题($url){
$fp=文件内容($url);
如果(!$fp)
返回null;
$res=preg_匹配(“/(.*)/siU“,$fp,$title_匹配);
如果(!$res)
返回null;
//清理标题:删除下线和多余的空白。
$title=preg_replace('/\s+/',''$title_匹配[1]);
$title=修剪($title);
返回$title;
}
这很好,但它们不是链接,它进入子目录并列出其中的项目,但正如我之前所说的,我希望它在子目录处切断,而不是更深

有什么建议吗


谢谢

添加带深度的参数

<?php 
    function listFolderFiles($dir, $deep = 0, $depth_limit = 1){
    if($deep > $depth_limit ) return;
    $ffs = scandir($dir);
    echo '<ol>';
    foreach($ffs as $ff){
        if($ff != '.' && $ff != '..'){
            echo '<li>'.$ff;
            if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff, ++$deep);
            echo '</li>';
        }
    }
    echo '</ol>';
    }

    listFolderFiles('../../'); 
?>

<?php 
    function listFolderFiles($dir, $deep = 0, $depth_limit = 1){
    if($deep > $depth_limit ) return;
    $ffs = scandir($dir);
    echo '<ol>';
    foreach($ffs as $ff){
        if($ff != '.' && $ff != '..'){
            echo '<li>'.$ff;
            if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff, ++$deep);
            echo '</li>';
        }
    }
    echo '</ol>';
    }

    listFolderFiles('../../'); 
?>