php 获得某个目录下所有的文件名

本文介绍了一个PHP函数,用于获取指定目录下所有文件的名字,适用于批量处理文件时避免磁盘碎片的问题。

由于tempnam()函数生成的临时文件方法得到目录下唯一的文件名,再删除该临时文件。批量处理时产生大量磁盘碎片。本函数可以帮助获得该目录下不存在的文件。

/**
 * 得到某个目录下所有的文件名。
 * @param String $dir
 * @return Array
 * 
 */
public function getFileName($dir) {
	$array = array();
	//1、先打开要操作的目录,并用一个变量指向它
	//打开当前目录下的目录pic下的子目录common。
	$handler = opendir($dir);
	//2、循环的读取目录下的所有文件
	/* 其中$filename = readdir($handler)是每次循环的时候将读取的文件名赋值给$filename,为了不陷于死循环,所以还要让$filename !== false。一定要用!==,因为如果某个文件名如果叫’0′,或者某些被系统认为是代表false,用!=就会停止循环 */
	while (($filename = readdir($handler)) !== false) {
		// 3、目录下都会有两个文件,名字为’.'和‘..’,不要对他们进行操作
		if ($filename != '.' && $filename != '..') {
			// 4、进行处理
			array_push($array, $filename);
		}
	}
	//5、关闭目录
	closedir($handler);
	return $array;
}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值