zoukankan      html  css  js  c++  java
  • PHP里文件的查找方式及写法

    PHP里说的文件包括:文件和目录
    1.用filetype方法加路径("./11.txt")是判断文件类型


    //var_dump(filetype("./11.txt"));//判断文件类型.是文件返回:string 'file' (length=4)。如果返回string 'dir' (length=3)代表目录的意思、也就是文件夹

    2.用is_dir("");判断是不是目录
    //var_dump(is_dir("./22"));//判断文件是不是目录.是目录返回boolean true
    //var_dump(is_dir("./11.txt"));//不是目录。不是返回boolean false

    1  
    1 <span style="font-size: 13px"><span style="color: #ff0000; font-size: 16px">3</span>. 文件属性</span>
    1
    2
    3
    4
    5
    6
    7
    //echo date("Y-m-d H:i:s",fileatime("./11.txt")); //获取文件上次访问时间
    //echo date("Y-m-d H:i:s",filectime("./11.txt")); //文件的创建时
    //echo date("Y-m-d H:i:s",filemtime("./11.txt")); //文件的修改时间
    //echo filesize("./11.txt"); //文件大小
    //var_dump(file_exists("./12.txt")); //文件是否存在、这是不存在返回:boolean false
    //var_dump(file_exists("./11.txt")); //文件是否存在、这是存在返回:boolean true

     4.文件路径
      ./ 代表当前目录
      ../代表上级目录
       /代表根目录
    网页里面的根:代表www目录
    php里面的根:代表磁盘目录

    1 echo $_SERVER['DOCUMENT_ROOT']; //获取当前服务器的根、运行结果D:/wamp/www/
    1 echo basename("../test.php"); //获取路径中的文件名,运行结果:test.php
    1 echo basename("../test.php",".php"); //获取去掉后缀的文件名,运行结果:test
    1 echo dirname("../test.php"); //获取路径中除去文件名的部分
    1 var_dump(pathinfo("../test.php")); //获取文件信息,返回数组
    1 echo realpath("../test.php"); //将相对路径转换为绝对路径

    5.遍历目录

    1 var_dump(glob("./touxiang/*")); //返回目录下所有的文件
    1
    2
    3
    4
    5
    6
    $attr glob("./touxiang/*");
    foreach($attr as $v)
    {
        echo $v."<br>";
    }<br>运行:

    6. 获取某一个文件夹下所有文件的数量(包含文件夹)
    该方法用来获取指定文件夹下文件的数量

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function ShuLiang($filename)
    {
            $attr glob($filename."/*");
            $n count($attr);
             
            foreach($attr as $v)
            {
                if(is_dir($v))
                {
                    $n $n+ShuLiang($v);
                }
            }  
             
            return $n;
    }
    echo ShuLiang("wampwwwphpshanchuhechakan");<br>运行结果:
     

    这是文件的属性

    1
    2
    3
    4
    5
    6
    7
    8
    9
    $fname "../shanchuhechakan";
    $dir = opendir($fname);//打开一个目录,返回目录资源
    while($url = readdir($dir))
    {
        echo $fname."/".$url."<br>";
         
    }
    closedir($dir);//关闭目录资源

     7.例题:用递归。。。获取某一个目录下所有文件的大小

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    function Fsize($fname)
    {
        $size = 0;
        $dir = opendir($fname);
         
        //遍历目录,找到文件,累加大小
        while($u = readdir($dir))
        {
            if($u=="." || $u=="..")
            {
            }
            else
            {
                $zfname $fname."/".$u;
                if(is_file($zfname))
                {
                    $size += filesize($zfname);
                }
            }
        }
         
        //找到子目录,获取子目录下文件大小
        rewinddir($dir);
        while($u = readdir($dir))
        {
            if($u=="." || $u=="..")
            {
            }
            else
            {
                $zfname $fname."/".$u;
                if(is_dir($zfname))
                {
                    $size += Fsize($zfname);
                }
            }
        }
         
        closedir($dir);
        return $size;
    }
    echo Fsize("../shanchuhechakan");
    1 <br>
  • 相关阅读:
    Android Studio安装apk失败
    react-native获取屏幕尺寸
    Project Euler Problem 10
    Project Euler Problem9
    Project Euler Problem8
    Project Euler Problem7
    Project Euler Problem6
    《The One 团队》:第九次团队作业:BETA冲刺与团队项目验收
    《The One!团队》:BETA Scrum metting3
    《The One !团队》:BETA Scrum metting2
  • 原文地址:https://www.cnblogs.com/xieyulin/p/7070685.html
Copyright © 2011-2022 走看看