php案例 :显示目录信息

解析文件夹遍历中特殊目录
本文介绍在遍历文件夹时遇到的系统自带特殊隐藏目录“.”和“..”,解释其含义并提供PHP代码示例来过滤这些特殊目录。

作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主


前言

为什么输出文件夹里面的文件+文件夹时,会出现. …呢?

在这里插入图片描述
这是系统自带的两个特殊隐藏目录。一个.是指代当前目录本身,一个…指代上级目录。平时隐藏了而已。你遍历出来不想显示直接在判断条件里加如果目录等于.或者…就不输出,直接跳过就完了

代码:

index.php

<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>
<body>
	<form method="post" action="check.php">
		<center>请输入目录路径</center>
		<input type='text' name='path' size='25'><br>
		<input type="submit" value='查看' >
	  </form>
</body>
</html>

check.php

<?php
 if($_POST['path']){
	$path_start = $_POST['path'];	//获取绝对路径
	$path = opendir($path_start);	//打开目录
	?>
 <center>目录信息如下表所示</center>
  <table border='0' cellspacing='0' cellpadding='0' width='450' align='center'>
	<tr align="left" bgcolor="#cccccc">
		<th>文件名</th><th>类型</th>
	</tr>
	<?php
		$str = '';
		while($file=readdir($path)){//readdir的意思是获取某个目录下的所有文件+文件夹(不包含下下级哈)
		$dir = $path_start."/".$file;			//获取完整的路径和文件名称
		$str .=  '<tr align=\'center\'>';            	
		$str .= '<td>'.$file.'</td>';                   	
        $str .= '<td>'.(filetype($dir)=='dir'?'文件夹':'文件').'</td>';//看这个是文件还是文件夹
        $str .= '</tr>';	
	}
	echo $str;
	?>
  </table>
  <?php
 }
 ?>

效果:

在这里插入图片描述

提交的是:

在这里插入图片描述

新建文件夹的目录结构是:

在这里插入图片描述

名字为1的文件夹里面还有文件呢:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贵哥的编程之路(热爱分享 为后来者)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值