作者:陈业贵 华为云享专家 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的文件夹里面还有文件呢:
版权声明:本文为qq_37805832原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。