PHP 遍历目录下面所有文件(案例)

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		*{padding: 0;margin: 0; list-style: none;}
		body>.father{
			margin:20px 0 0 20px;
		}
		b{ display: inline-block; width: 26px;}
		i{
			display: inline-block; width: 15px; height: 15px; margin-right: 3px;
			position: relative; top: 1px; cursor: pointer;
		}
		.child-dir i:before{
			content: '';
			display: inline-block;
			width: 15px; height: 15px; 
			background: url('./images/dir.png');
			background-size: 15px; 
		}
		.child-file i:before{
			content: '';
			display: inline-block;
			width: 15px; height: 15px; 
			background: url('./images/file.png');
			background-size: 15px; 
		}
		.father{ display: none; }
		.father:first-child{ display: block; }
	</style>
	<script src="./jquery.js"></script>
	<script>
		$(function(){
			$('.child-dir i').click(function(){
				$(this).parent().next('.father').toggle();
			});
		});
	</script>
</head>
<body>
<?php
	header('Content-type:text/html;charset=utf-8');
	function showAllFiles($fileName,$bar=''){
		echo '<div class="father">';

		// 打开资源句柄
		$handle = opendir($fileName);

		// 读取 . 和 ..
		$file = readdir($handle);
		$file = readdir($handle);

		// 遍历
		while($file = readdir($handle)){

			// 将文件名拼接成目录
			$newFile = $fileName.'/'.$file;

			// 将文件编码转为utf-8
			$file = iconv('gbk', 'utf-8', $file);

			// 判断是否是目录
			if(is_dir($newFile)){

				// 如果是目录 再次调用showAllFiles()
				echo '<div class="child-dir">'.$bar.'<i></i>'.$file.'</div>';
				// $bar .='<b></b>';
				showAllFiles($newFile,$bar.'<b></b>');
			}else{

				// 如果不是输出文件信息
				echo '<div class="child-file">'.$bar.'<i></i><a href="'.$newFile.'">'.$file.'</a></div>';
			}
		}
		echo "</div>";
		closedir($handle);
	}
	showAllFiles('../');
?>
</body>
</html>

       

        运行结果:

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值