首页 > php开发 > php+jquery实现无限级目录遍历展示代码

php+jquery实现无限级目录遍历展示代码

这个例子可以利用php目录遍历出来的目录或文件进行一个树型的展示效果,程序代码,index.php 里面的jquery文件大家可百度下载一个,因为这是用来实现一个效果的:

index.php:

<script src="jquery/jquery-1.3.1.js" type="text/javascript"></script> 
<style type="text/css"> 
body 
{font: normal 12px arial, tahoma, helvetica, sans-serif;margin:0;background:#fff;padding:30px;} 
*{ margin:0; padding:0;} 
ul{ visibility:visible; cursor:pointer;} 
.simpleTree li{font-size:14px; list-style: none;margin:0 0 0 50px;padding:0 0 0 34px;line-height: 18px;margin-left:-13px;background: url(http://pic1.phprm.com/2014/06/15/expandable.jpg) 0 -2px no-repeat #fff;} 
.simpleTree li span{display:inline;clear: left;white-space: nowrap;} 
li.root{padding:0 0 0 20px;line-height:20px;background: url(http://pic1.phprm.com/2014/06/15/root.jpg) 0 2px no-repeat #fff;} 
li.file{padding:0 0 0 35px;line-height:20px;background: url(http://pic1.phprm.com/2014/06/15/leaf-last.jpg) 0 2px no-repeat #fff;} 
</style> 
<script type="text/javascript"> 
$(function () {
$(".simpleTree").children("li").find("ul").hide();
$("span").click(function () {
var $this_ul = $(this).siblings("ul");
if ($this_ul.is(":visible")) {
$this_ul.stop(false, true).hide();
} else {
$(this).siblings("ul").stop(false, true).show().end().stop(false, true).siblings("ul").find("ul").hide();
}
})
})
</script>
<?php
include ("function.php");
$path = "目录/"; //目录名
echo "<ul class='simpleTree'><li class='root'><span>目录</span>"; //目录名,和path 中名称一样
list_dir($path);
echo "</ul></li>";
?>

function.php这个文件包含了遍历目录的函数了,代码如下:

<?php
/*输出当前目录下的所有文件数量*/
function files_count($path, &$i = 0) {
    if ($opendir = opendir($path)) {
        //===============
        while ($file = readdir($opendir)) {
            if ($file != "." && $file != "..") {
                if (is_file($path . "/" . $file)) {
                    $i++;;
                } else {
                    files_count($path . "/" . $file, $i);
                }
            }
        }
        //=============
        return "(" . $i . ")";
    }
}
//echo files_count("目录/目录1/3/");
//=============================//
/*遍历目录*/
function list_dir($path) {
    if ($opendir = opendir($path)) {
    }
    echo "<ul>";
    while ($file = readdir($opendir)) {
        if ($file != "." && $file != "..") {
            if (is_dir($path . "/" . $file)) {
                $bar = scandir($path . "/" . $file);
                unset($bar[0]);
                unset($bar[1]);
                if (count($bar !== 0)) {
                    echo "<li><span>" . $file . files_count($path . "/" . $file) . "</span>";
                    list_dir($path . "/" . $file);
                }
            } else {
                echo "<li class='file'><a  href='" . $path . "/" . $file . "'>" . $file . "</a></li>";
            }
        }
    }
    echo "</ul></li>";
}
?>


文章地址:http://www.phprm.com/develop/fs3357.html

转载随意^^请带上本文地址!

标签:php+jquery 无限级目录遍历

发表留言