PHP遍历目录实现方法介绍
作者:胡西风_foxww 发布时间:2023-05-25 06:31:41
标签:PHP,遍历目录
opendir – 打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。
语法:resource opendir (string path [, resource context] )
readdir – 从目录句柄中读取条目。返回当前目录指针位置的文件名,没有返回 false,并将指针向下移动一位。文件名以在文件系统中的排序返回。
语法:string readdir (resource dir_handle)
closedir – 关闭目录句柄。关闭由 dir_handle 指定的目录流。流必须之前被 opendir() 所打开。
语法:void closedir (resource dir_handle)
rewinddir – 倒回目录句柄。将 dir_handle 指定的目录流重置到目录的开头。
语法:void rewinddir (resource dir_handle)
//遍历指定目录实例
$num=0; //用来统计子目录和文件的个数
$dirname='phpMyAdmin'; //定义一个目录名
$dir_handle=opendir($dirname); //用opendir打开目录
//将遍历的目录和文件名使用表格格式输出
while($file=readdir($dir_handle)) { //使用readdir循环读取目录里的内容
$dirFile=$dirname."/".$file; //追加目录名
echo "文件名: ".$file." | "; //显示文件名
echo "大小: ".filesize($dirFile)." | "; //显示文件大小
echo "类型: ".filetype($dirFile)." | "; //显示文件类型
echo "创建时间: ".date("Y/n/t",filectime($dirFile))."<br/>";
num++;
}
closedir($dir_handle); //关闭文件操作句柄
echo ‘在<b>'.$dirname.‘</b>目录下共有文件<b>'.$num.'</b>个';
// glob.php
foreach(glob("phpmyadmin/*") as $filename ) {
echo $filename."<br>";
}
//test.php
//打开目录资源
$dir = opendir("phpmyadmin");
while($filename = readdir($dir)) {
//不要操作.和..
if($filename!="." && $filename!="..") {
//一定要注意路径, 找对才可以
$filename = "./phpmyadmin/".$filename;
if(is_dir($filename)) {
echo "目录:".$filename."<br>";
} else {
echo "文件:".$filename."<br>";
}
}
}
rewinddir($dir);
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<br>";
while($filename = readdir($dir)) {
//不要操作.和..
if($filename!="." && $filename!="..") {
//一定要注意路径, 找对才可以
$filename = "./phpmyadmin/".$filename;
if(is_dir($filename)) {
echo "目录:".$filename."<br>";
} else {
echo "文件:".$filename."<br>";
}
}
}
//关闭这个资源
closedir($dir);
来源:https://blog.csdn.net/my_study_everyday/article/details/129023792


猜你喜欢
- vue+element表格实现多层数据嵌套今天用element的表格渲染了商城的购物车列表,element的表格之前也用到过,它把所有的东西
- 我认为在ASP中最好的办法是用编程实现定时刷新Cache,也就是说给Application中储存的设一个过期时间。当然,在ASP中Appli
- 平时学生交上机作业的时候经常有人相互复制,直接改文件名了事,为了能够简单的检测这种作弊行为,想到了检测文件的MD5值,虽然对于抄袭来说作用不
- 字面意思上的区别Attribute与property, 都可翻译成属性. 虽然无论是在中文中还是英文中 它们的意思都几乎一样, 但仍有些许差
- 前言Modbus协议是由Modicon公司(现在的施耐德电气Schneider Electric)推出,主要建立在物理串口、以太网TCP/I
- CREATE TABLE `category` ( `Id` binary(1
- 前言最近使用PyTorch感觉妙不可言,有种当初使用Keras的快感,而且速度还不慢。各种设计直接简洁,方便研究,比tensorflow的臃
- 本文实例讲述了Python3.5实现的 * 菜单功能。分享给大家供大家参考,具体如下:程序: * 菜单要求:
- 方法一、SELECT SUM(正确数)+SUM(错误数) AS 总记录数,SUM(正确数),SUM(错误数) FROM ( SELECT C
- 示例matplotlib中的animation提供了动态绘图功能,下面列举一个最简单的动态绘制三角函数的例子,来初步演示一下。import
- 两种写法。如图,4种重合情况和2种不重合情况。第一种写法:-- 时间段 a,b SELECT * FROM table WHER
- python3.0 模拟用户登录,三次错误锁定的实例实例如下所示:# -*- coding:utf-8 -*-#需求模拟用户登录,超过三次错
- 01前言数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据。然而,由于可移植文档格式(
- Python 堆栈堆栈是一个后进先出(LIFO)的数据结构. 堆栈这个数据结构可以用于处理大部分具有后进先出的特性的程序流 . 在堆栈中,
- 定位原理很简单,故不赘述,直接上源码,内附注释。(如果对您的学习有所帮助,还请帮忙点个赞,谢谢了)#!/usr/bin/env python
- keras提供简单方便的模型可视化工具,只需一行代码就可以用框图的形式可视化出你搭建的网络结构。对于复杂网络而言,这个工具就是个神器呀。这篇
- 在这个由两部分组成的系列文章的第二部分中,我们将继续探索如何将函数式编程方法中的好想法引入到 Python中,以实现两全其美。在上一篇文章中
- import time# time模块中包含了许多与时间相关的模块,其中通过time()函数可以获取当前的时间。count = 100pri
- 缘由最近在做公司的一个点餐H5项目需要前端动态计算用户选的商品的总价(单价*数量)和购物车的总价格时发现关于 JavaScript 浮点数计
- 这次自己做了一个小程序来玩,在登录方面一直有些模糊,网上看了很多文档后,得出以下一种解决方案。环境说明:1、小程序只需要拿到openid,其