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