当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-06-15 23:42:04 浏览: 评论:0 

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

index.php:

  1. <script src="jquery/jquery-1.3.1.js" type="text/javascript"></script> 
  2. <style type="text/css"
  3. body 
  4. {font: normal 12px arial, tahoma, helvetica, sans-serif;margin:0;background:#fff;padding:30px;} 
  5. *{ margin:0; padding:0;} 
  6. ul{ visibility:visible; cursor:pointer;} 
  7. .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(jquery/images/expandable.gif) 0 -2px no-repeat #fff;} 
  8. .simpleTree li span{display:inline;clear: left;white-space: nowrap;} 
  9. li.root{padding:0 0 0 20px;line-height:20px;background: url(jquery/images/root.gif) 0 2px no-repeat #fff;} 
  10. li.file{padding:0 0 0 35px;line-height:20px;background: url(jquery/images/leaf-last.gif) 0 2px no-repeat #fff;} 
  11. </style> 
  12. <script type="text/javascript"
  13. $(function(){ 
  14.  $(".simpleTree").children("li").find("ul").hide(); 
  15. $("span").click(function(){ 
  16.  var $this_ul=$(this).siblings("ul"); 
  17.  if($this_ul.is(":visible")){ 
  18. $this_ul.stop(false,true).hide(); 
  19.  }else
  20. $(this).siblings("ul").stop(false,true).show().end().stop(false,true).siblings("ul").find("ul").hide(); 
  21.  } 
  22. }) 
  23.  
  24. }) 
  25. </script> 
  26. <?php 
  27. include("function.php"); 
  28. $path="目录/";//目录名 
  29. echo "<ul class='simpleTree'><li class='root'><span>目录</span>"//目录名,和path 中名称一样 
  30. list_dir($path); 
  31. echo "</ul></li>"
  32. ?> 

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

  1. <?php 
  2. /*输出当前目录下的所有文件数量*/ 
  3. function files_count($path,  & $i=0){ 
  4. if($opendir=opendir($path)){ 
  5. //=============== 
  6. while($file=readdir($opendir) ){ 
  7. if($file!="."&&$file!=".."){ 
  8.  if(is_file($path."/".$file)){ 
  9.   $i++; 
  10.  ; 
  11.  }else
  12.   files_count($path."/".$file$i); 
  13.  } 
  14.  } 
  15. //============= 
  16. return  "(".$i.")"
  17. //echo files_count("目录/目录1/3/"); 
  18. //=============================// 
  19. /*遍历目录*/ 
  20. function list_dir($path){ 
  21. if($opendir=opendir($path)){ 
  22.  
  23. echo "<ul>"
  24. while($file=readdir($opendir)){ 
  25.  if($file!="."&&$file!=".."){ 
  26.   if(is_dir($path."/".$file)){ 
  27.  
  28. $bar=scandir($path."/".$file); 
  29. unset($bar[0]); 
  30. unset($bar[1]); 
  31. if(count($bar!==0)){ 
  32.  echo "<li><span>".$file.files_count($path."/".$file)."</span>"
  33.  list_dir($path."/".$file); 
  34.  
  35.   }else
  36.    echo "<li class='file'><a  href='".$path."/".$file."'>".$file."</a></li>"
  37.   } 
  38.   } 
  39.  } 
  40. echo "</ul></li>"
  41. ?> 

Tags: php+jquery 无限级目录遍历

分享到: