PHP遍历目录四种方法

学习SPL的时候,遇到了DirectoryIterator这个目录类,谢了一下遍历目录的方法。于是总结一下遍历目录的四种写法

如下:

<?php
/*
 * 方法一:利用SPL的目录类,这个很简单
 */
$obj = new DirectoryIterator(‘E:\wamp\bin\php\php5.3.3‘);
foreach ($obj as $file){
	echo $file->getFileName();
	echo "<br/>";
}

/*
 * 方法二:scandir函数,返回文件数组
 */
$files = scandir(‘E:\wamp\bin\php\php5.3.3‘);
foreach ($files as $file){
	if($file!=‘.‘&&$file!=‘..‘){//不输出 .(当前目录)  ..(上一级目录)文件
		echo $file;
		echo "<br/>";
	}
}

/*
 * 方法三:面向过程方法  opendir  readdir   closedir
 */

$fp = opendir(‘E:\wamp\bin\php\php5.3.3‘);
while (FALSE!==($file=readdir($fp))){
	echo $file;
	echo "<br/>";
}
closedir($fp);

/*
 * 方法四:面向对象的方法,利用PHP的dir类
 */

$obj = dir(‘E:\wamp\bin\php\php5.3.3‘);
while (false!==($file=$obj->read())){
	echo $file;
	echo "<br/>";
}
$obj->close();
?>

  

时间: 2024-11-10 06:55:58

PHP遍历目录四种方法的相关文章

OC-数组遍历的四种方法

数组遍历的四种用法 例:NSArray *array = @[@1,@2,@3,@4]; 第一种方法--for循环 for(int i=0;i<array.count;i++){ NSLog( @"%@",array[i] ); } 第二种方法--for循环增强版 //常用的是 for(NSString *str in array){ NSLog(@"%@",str); } //万能的是 for(id obj in array){ NSLog(@"%

map遍历的四种方法

public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>();  map.put("1", "value1");  map.put("2", "value2");  map.put("3", "value3");    //第一种:普

Map&lt;String, String&gt; 遍历的四种方法

Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过Ma

java 中map遍历的四种方法和优缺点

/** * 在for-each循环中使用entries来遍历 * 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用 * 如果遍历的是一个空的map,会报数组越界 ,java5引入,不兼容老版本 * @param map */ public void methodOne(Map<Integer, Integer> map){ for (Map.Entry<Integer, Integer> entry : map.entrySet()) { System.out

【JAVA】遍历Map的四种方法

public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>();  map.put("1", "value1");  map.put("2", "value2");  map.put("3", "value3");    //第一种:普

自学Linux命令的四种方法

自学Linux命令的四种方法 导读 童鞋们刚接触linux时,在学习过程中中会遇到不少问题,学习linux摸不着头脑,那么下面介绍四种linux的学习方法,特别适合新手. 方法一:终端"每日提示" 在.bashrc中(/home/.bashrc)增加如下一行: echo "Did you know that:"; whatis$(ls /bin | shuf -n 1) 你只需要增加这行就够了!如果你想让它更娱乐化一些,你可以安装cowsay.Ubuntu/Debi

Spring Security3的四种方法概述

使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过,并经过验证: 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证. 三种是细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,     并分别实现Ac

20150503 imx257下实现I2C驱动的四种方法

20150503 imx257下实现I2C驱动的四种方法 2015-05-3 Lover雪儿 时间过得好快,转眼间五一假期就即将结束了,假期期间,大家都潇洒的去玩了,徒留辛辛苦苦的程序员还是窝在宿舍乖乖的敲着代码... 好啦,开开玩笑,辛酸史每家都有一大本,还是要积极的面对生活!!! 今天我们的任务是简单的入门linux内核下i2c设备驱动分离的四种写法. 一.一个简单的i2c驱动 和以前的驱动程序不同,i2c驱动分为drv驱动和dev设备驱动两个文件,不懂的可以参考我以前写的<20150313

详解Java解析XML的四种方法

(1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取 和操作文档的任意部分,是W3C的官方标准 [优点] ①允许应用程序对数据和结构做出更改. ②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据. [缺点] ①通常需要加载整个XML文档来构造层次结构,消耗资源大. [解析详解] ①构建Document对象: DocumentBuilderFactory dbf = DocumentBu