【实例】php获取指定路径下所有的文件信息

使用函数介绍

1、opendir() 函数打开目录。成功则返回目录句柄资源。失败则返回 FALSE。
2、readdir() 函数返回目录中下一个文件的文件名。若成功则返回条目名称(文件名),失败则返回 FALSE。
实例

<?php
if(is_dir($dir)){
	if($fr = opendir($dir)){
		while(($file = readdir($fr))!== false){
			echo '文件名:'.$file . '<br>';
		}
	}
}

结果:
文件名:form.html
文件名:upload.php

脚本
<?php
/**
 * 获取指定路径下所有的文件信息
 * @param  string  $dir   有效路径
 * @param  integer $level 表示当前文件所在层级
 * @return array          所有元素的二维数组,无效路径返回false
 */
function getAll($dir,$level=0){
	if(!is_dir($dir)){
		return false;
	}
	static $out = [];
	if($fr = opendir($dir)){
		while(($file = readdir($fr)) !== false){
			if($file == '.' || $file == '..') continue;
			$file = iconv('gbk','utf-8',$file);
			$tmp_dir = $dir.'/'.$file;
			if(is_dir($tmp_dir)){
				$out[] = [
	                'filename' => $file,
	                'directory'=> $dir,
	                'is_dir'   => 1,
	                'level'    => $level
                ];
	            //递归
	            getAll($tmp_dir,$level + 1);
			} else {
				$out[] = [
	                'filename' => $file,
	                'directory'=> $dir,
	                'is_dir'   => 2,
	                'level'    => $level
                ];
			}
		}
		return $out;
	}
}
// is_dir 判断是否为文件或目录,值为 1 是目录,值为 2 是文件。
// 调用方法
$dir = './upload';
$files = getAll($dir);
echo '<pre>';
print_r($files);

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值