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
转载随意^^请带上本文地址!