• 技术文章 >后端开发 >php教程

    php is_file()和is_dir()用于遍历目录时用法注意事项_php技巧

    2016-05-17 09:27:43原创403
    1、目录inc有以下内容:
    子目录 0
    子目录 a
    footer.html
    header.html
    login_function.inc.php
    mysqli_connect.php
    style.css

    2、现在PHP要遍历inc目录,并只显示文件,不显示目录0和a,代码如下:
    复制代码 代码如下:

    $dir = $_SERVER['DOCUMENT_ROOT'];
    $dir = "$dir/inc/";
    $d = opendir($dir);
    while(false !==($f=readdir($d)))
    {
    if(is_file($f)){
    echo "

    $f

    ";
    }else{
    echo "

    是目录$f

    ";
    }
    }
    closedir($d);

    结果却只显示了“footer.html”是文件,其它都变成目录了:
    是目录.
    是目录..
    是目录a
    footer.html
    是目录header.html
    是目录login_function.inc.php
    是目录mysqli_connect.php
    是目录style.css

    这是由于不能在is_file和is_dir中直接使用“$f”,这样会被PHP当作是根目录下的该文件,而在我的根目录下有footer.html这个文件,所以会正确显示这个文件。其它则不行。代码改成:
    要正确显示,需要改造代码:
    复制代码 代码如下:

    while(false !== ($f=readdir($d)))
    {
    if(is_file("$dir/$f")){
    echo "

    $f

    ";
    }else{
    echo "

    是目录$f

    ";
    }
    }
    closedir($d);
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php is_file is_dir
    上一篇:PHP 伪静态隐藏传递参数名的四种方法_php技巧 下一篇:收藏的PHP常用函数 推荐收藏保存_php基础
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 一个有趣的命令:php -S(小技巧分享)• 2022最新浅析PHP特性、内核及架构• 教你创建虚拟主机并运行php项目(phpstudy + wamp)• 一文详细PHP模板引擎的原理(附代码示例)• 用PHP调用数据库的存贮过程!_PHP
    1/1

    PHP中文网