• 文件操作


    <body>
    
    <?php
    //文件:文件+文件夹(目录)
    
    //获取文件类型,如果是文件返回 file ,如果是目录返回 dir
    var_dump(filetype("./aa.txt"));
    var_dump(filetype("./aa"));
    
    var_dump(is_dir("./aa"));//判断给定的路径是不是目录
    var_dump(is_file("./aa.txt"));//判断给定的路径是不是文件
    
    echo date("Y-m-d H:i:s",fileatime("./aa.txt"));//获取文件的上次访问时间,fileatime
    echo date("Y-m-d H:i:s",filectime("./aa.txt"));//获取文件的创建时间,filectime
    echo date("Y-m-d H:i:s",filemtime("./aa.txt"));//获取文件的修改时间,filemtime
    
    echo filesize("./aa.txt");//获取文件的大小
    
    var_dump(file_exists("./aa.txt"));//判断文件是否存在
    
    
    /*
    文件路径
    1.当前目录:./  或者不写
    2.上级目录:../
    3.下级目录:文件夹名/
    4.根目录:/
    根目录/有两层意思:
     如果 / 是在php程序里面的话代表:  硬盘根目录
     如果 / 是在网页里的话代表:      代表服务器的根目录(www)
    */
     
    //(重点)做文件上传头像,产品图片,保存在数据的路径一定要写绝对路径
    
    //echo $_SERVER['DOCUMENT_ROOT'];//取服务器www的根目录
    
    /*
    echo basename("aa.txt");//从路径中获取文件名
    echo basename("aa.txt",".txt");//返回没有后缀的文件名
    echo dirname("./aa/bb.txt");//返回路径中的目录,不要文件名
    */
    
    //var_dump(pathinfo("./aa/bb.txt"));//返回文件信息,二维数组
    
    //echo realpath("./aa/bb.txt");//将相对路径转为绝对路径
    
    
    //目录操作
    
    var_dump(glob("./img/tmp/*"));//返回目录下所有的文件
    var_dump(glob("./img/tmp/*.txt"));//可以根据后缀筛选所有文件
    
    
    /*
    遍历目录
    要求:获取文件夹下所有文件个数
    */
    //方法1:
    //做一个 递归函数
    function Shuliang($filename)
    {
        if(is_dir($filename))
        {    
            $attr= glob($filename."/*");
            $sl=0;
            foreach($attr as $v)
            {
                if(is_dir($v))
                {
                    $sl+= Shuliang($v);
                }
                else
                {
                    $sl++;
                }        
            }
            return $sl;
        }
        else 
        {
            if(is_file($filename))
            {
                return 1;
            }
            else
            {
                return 0;
            }
        }
        
    }
    
    $filename = "./img";
    $sl = Shuliang($filename);
    echo $sl;
    
    
    //方法2:
    //打开目录资源(推荐使用)
    $dir = opendir("./img");
    
    /*
    echo readdir($dir)."<br />";//读文件 .  当前目录
    echo readdir($dir)."<br />";//读文件 .. 上级目录
    echo readdir($dir)."<br />";//读文件,从第三个开始是真正的文件
    echo readdir($dir)."<br />";//读文件,依次读取。。。。。
    */
    
    while($v = readdir($dir))
    {
        if($v=="." || $v=="..")
        {
            
        }
        else
        {
            echo $v."<br />";
        }
    }
    //rewinddir($dir);//重置目录资源的指针
    //关闭目录资源
    closedir($dir);
    
    /*<?php
    $dir = opendir("./img");
    while($v = readdir($dir))
    {
        if($v=="." || $v=="..")
        {}
        else
        {
            echo $v."<br />";
        }    
    }
    closedir($dir);
    
    打开目录资源,遍历目录
    ?>*/
    ?>
    
    
    
    </body>
    </html>



  • 相关阅读:
    出现错误:代理服务器拒绝连接的解决方法
    ansible之模块 条件判断
    软件相关模块与ansible剧本
    ansible的应用
    Celery -----异步任务,定时任务,周期任务
    SQLAlchemy增删改查 一对多 多对多
    python是如何进行内存管理的?
    Django的模板层(1)
    1.Git安装
    6.case
  • 原文地址:https://www.cnblogs.com/wanlibingfeng/p/5524791.html
Copyright © 2020-2023  润新知