花了半小时写的php文件树代码

先贴个效果图

在这里插入图片描述
在这里插入图片描述

<?php
 
function treeDir($pathName)
{

  //将结果保存在result变量中
  $result = array();
  $temp = array();
  //判断传入的变量是否是目录并判断文件是否可读
  if(!is_dir($pathName) || !is_readable($pathName)) {
    return null;
  }
  //取出目录中的文件和子目录名,使用scandir函数
  $allFiles = scandir($pathName);
  //遍历他们
  foreach($allFiles as $fileName) {
    //判断是否是.和.. 
    if(in_array($fileName, array('.', '..'))) {
      continue;
    }
    //路径加文件名
    $filePath = $pathName.'/'.$fileName;
    //如果是目录的话就继续遍历这个目录
    if(is_dir($filePath)) {
      //将这个目录中的文件信息存入到数组中
     
      $result[$fileName] = treeDir($filePath);
      //记录目录路径
      $result[$fileName]['0']=$filePath;
    }else {
     
      $result[$fileName] = $filePath;
    }
  }
  return $result;
}

$dir = isset($_GET['dir'])?$_GET['dir']:".";
//初始化函数
$tree = treeDir($dir );
echo "<pre>";
print_r($tree);
echo "</pre>";
?>

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>文件遍历</title>
</head>
<body>
		<h1>文件显示系统</h1>
		<ul>
		<?php foreach($tree as $k=>$v){ 
			if(!is_array($v)){
				echo "<span>$k</span><br />";
				continue;
			}
			echo "<a href='?dir=$v[0]'>$k</a><br />";
			
		}?>
		</ul>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值