遍历一个目录下的所有文件和子文件夹

1.要点

(1)递归
(2)几个函数:is_dir()opendir()readdir()closedir()

2.程序举例

<?php
	header("Content-type:text/html;charset=utf-8");
	function my_scandir($dir){
		$files=array();
		if (is_dir($dir)) {
			if ($handle=opendir($dir)) {
				while (false!=($file=readdir($handle))) {
					if ($file!='.' && $file!='..') {
						if (is_dir($dir.'/'.$file)) {
							$files[$file]=my_scandir($dir.'/'.$file);
						}else{
							$files[]=$dir.'/'.$file;
						}
					}
				}
				closedir($handle);
				return $files;
			}
		}
	}

	//示例
	$dir='G:\myenv\myweb\blog';
	echo "<pre>";
	print_r(my_scandir($dir));
	echo "</pre>";
?>

输出结果

Array
(
    [.phpintel] => Array
        (
            [0] => G:\myenv\myweb\blog/.phpintel/0955938697ff3f8ba2e7e99ad7d1a15f
            [1] => G:\myenv\myweb\blog/.phpintel/2db17ac1fe7e91a24b81522ce47bc0f3
            [2] => G:\myenv\myweb\blog/.phpintel/41ef0d7347d9771a82ff4f9ce3918f2c
            [3] => G:\myenv\myweb\blog/.phpintel/4e8c5b9ab38f7c7cd83bf9f839940714
            [4] => G:\myenv\myweb\blog/.phpintel/5af280c5d1540e3ebccd0f57875d45b4
            [5] => G:\myenv\myweb\blog/.phpintel/621882ef54ef7a3bfc19b4e61e90e6f7
            [6] => G:\myenv\myweb\blog/.phpintel/cff0d4807d663f1cb70b0ebb6d8dcea7
            [7] => G:\myenv\myweb\blog/.phpintel/index
        )

    [0] => G:\myenv\myweb\blog/comment.php
    [css] => Array
        (
            [0] => G:\myenv\myweb\blog/css/index.css
        )

    [1] => G:\myenv\myweb\blog/db.php
    [images] => Array
        (
            [0] => G:\myenv\myweb\blog/images/1.jpg
        )

    [2] => G:\myenv\myweb\blog/index.php
    [3] => G:\myenv\myweb\blog/login.php
    [4] => G:\myenv\myweb\blog/magicClass.php
    [5] => G:\myenv\myweb\blog/result.php
)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值