您的位置:

php文件遍历类的实现,php遍历文件夹

本文目录一览:

php开发中如何实现无限遍历目录

$tree = '';

do {

    $tree .= '/*';

    $files = glob(__DIR__ . $tree);

    if ($files) {

        foreach ($files as $file) {

            if (

                pathinfo($file, PATHINFO_EXTENSION) == 'php'

                and

                ! in_array(substr(pathinfo($file, PATHINFO_BASENAME), 0, 1), ['.', '_'])

            ) {

                require $file;

            }

        }

        unset($file);

    }

} while (isset($files) and $files);

unset($tree, $files);

这是我随便写的一个示例,无限遍历当前目录的,你可以参考一下。

php数组遍历类与用法示例

本文实例讲述了php数组遍历类与用法。分享给大家供大家参考,具体如下:

?php

class

scanArray{

public

$arr;

public

$where;

private

$str;

public

function

scan($arr,$where="array"){

$this-arr

=

$arr;

$this-where

=

$where;

foreach($this-arr

as

$k=$v){

if(is_array($v)){

$this-where

=

($this-where)."[{$k}]";

$this-scan($v,$this-where);

}else{

$this-str

.=

$this-where."[{$k}]=".$v.'br

/';

}

}

return

$this-str;

}

function

__destruct(){

unset($this-arr);

unset($this-where);

}

}

$a

=

array('g'="a",'vv'=array("b"="b","l"="c","xx"=array("e","g")));

$ah

=

new

scanArray();

$b

=

$ah-scan($a);

echo

$b;

运行结果:

array[g]=a

array[vv][b]=b

array[vv][l]=c

array[vv][xx][0]=e

array[vv][xx][1]=g

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:PHP遍历数组的方法汇总PHP

数组遍历方法大全(foreach,list,each)PHP

数组遍历foreach语法结构及实例PHP中多维数组的foreach遍历示例php实现遍历多维数组的方法PHP中使用foreach()遍历二维数组的简单实例PHP遍历数组的三种方法及效率对比分析PHP实现的操作数组类库定义与用法示例PHP数组操作类实例PHP数组生成XML格式数据的封装类实例

php写一个函数,能够遍历一个文件夹下的所有文件和子文件夹

最近刚写的,可以遍历指定目录下的所有文件、文件夹、特定后缀的文件:

/**

 * 遍历目录

 * @param string $dir 绝对/相对路径

 * @param string $filter 默认*返回所有文件及文件夹,*.php仅返回php文件,如果$patten为GLOB_BRACE可实现多文件筛选,如*.{php,html},返回php和html文件

 * @param const $patten 默认GLOB_BRACE,可选:GLOB_ONLYDIR,更多参数请参考手册

 * @param string/bool $nocache 防止本次调用的结果缓存上次的结果,如果一个脚本仅调用一次本函数,则不用管,否则得设个值

 * @return array

 */

function globdir($dir, $filter = '*', $patten = GLOB_BRACE, $nocache = null) {

    static $file_arr = array ();

    isset($nocache)  $file_arr = array ();

    if (!is_dir($dir)) return;

    if ($patten == GLOB_ONLYDIR) {

        $code = 'if (is_dir($file)) {$file_arr[] = $file;globdir($file, "*", GLOB_ONLYDIR);}';

    } else {

        $code = 'is_file($file) ? $file_arr[] = $file : globdir($file,"' . $filter . '",' . $patten . ');';

    }

    array_walk(glob("{$dir}/{$filter}", $patten), create_function('$file, $k, $file_arr', $code), $file_arr);

    if ($filter != '*') {

        array_walk(glob("{$dir}/*", GLOB_ONLYDIR), create_function('$dir,$k,$param', 'list($filter, $patten) = explode("|", $param);globdir($dir, $filter, $patten);'), "{$filter}|{$patten}");

    }

    return $file_arr;

}