• php文件操作基础


    文件和目录:

    判断是文件还是目录:filetype()

    var_dump(filetype("./test")); 输出当前目录下的test文件

    判断是否是文件:is_file()

    var_dump(is_file("./aa.txt")); //判断aa是否是文件

    判断是否是目录:is_dir()

    is_dir("./test"); //判断test是否是目录

    文件上次访问时间:fileatime()

    echo date("Y-m-d H:i:s",fileatime("./aa.txt")); //输出文件aa的上次访问时间

    如图:

    文件创建时间:filectime()

    filectime("./aa.txt"); //文件aa的创建时间

    文件修改时间:filemtime()
    echo date("Y-m-d H:i:s",filemtime("./aa.txt")); //文件aa的修改时间

    获取文件大小:filesiz()
    echo filesize("./aa.txt"); //获取文件aa的大小

    判断文件是否存在:file_exists()
    var_dump(file_exists("./aaa.txt")); //判断文件是否存在

    var_dump(file_exists("/wamp/www/aa.jpg"));
     /代表根,在网页里面代表www目录,在PHP里面代表磁盘根

    echo $_SERVER['DOCUMENT_ROOT']; //服务器的根目录
    echo basename("./aa.txt"); //获取路径中的文件名
    echo dirname("../0428/DBDA.class.php"); //获取路径中的文件夹目录
    var_dump(pathinfo("../0428/DBDA.class.php")); //获取路径信息
    echo realpath("./aa.txt"); //将相对路径转化成绝对路径

    目录操作
    mkdir("./aa"); //创建目录
    rmdir("./aa"); //删除目录,目录必须为空
    rename("./test","../ceshi"); //移动目录

    遍历目录
    var_dump(glob("./qiyezhan/*.txt")); //获取目录下所有文件

    打开目录,返回目录资源
    $dname = "./qiyezhan";
    $dir = opendir($dname);

    从目录资源里面读文件,每次读一个
    while($fname = readdir($dir))
    {
    echo $dname."/".$fname."<br>";
    }

    //关闭目录资源
    closedir($dir);

    touch("./aa.txt"); //创建文件
    copy("./aa.txt","../aa.txt"); //复制文件
    unlink("./aa.txt"); //删除文件

    echo file_get_contents("http://www.baidu.com"); //读取文件
    file_put_contents("11.txt","hello"); //写内容
    readfile("./11.txt"); //读取并输出
    var_dump(file("11.txt")); //读取文件内容,返回数组,每行是一个元素

    打开文件
    $f = fopen("./11.txt","a");

    fwrite($f,"wwwww");


    关闭文件
    fclose($f);

    例子1,获取某个文件夹下所有文件的数量:

    <?php
    //造一个函数,给一个文件夹,返回该文件夹下文件数量
    echo fileCount("./dist");
    
    function fileCount($fname)
    {
        //该文件夹下所有文件数量
        $sum = 0;
        //判断给的是不是文件夹
        if(is_dir($fname))
        {
            //打开文件夹
            $dir = opendir($fname);
            
            while($wenjian = readdir($dir))
            {
                if($wenjian!="." &&$wenjian!="..")
                {
                    //文件的完整路径
                    $furl = $fname."/".$wenjian;
                    if(is_file($furl))
                    {
                        $sum++;
                    }
                    else if(is_dir($furl))
                    {
                        //获取该文件夹下文件数量,累加
                        $sum = $sum + fileCount($furl);
                    }
                }
                
            }
            
            //关闭文件夹
            closedir($dir);
            return $sum;
        }
        else
        {
            echo "给的文件夹不对";
        }
    }
    
    
    
    ?>

    结果输出为14

     例题2:删除文件夹:

    ShanChu("./qiyezhan");
    function ShanChu($fname)
    {
        if(is_dir($fname))
        {
            //在删除之前,把里面的文件全部删掉
            $dir = opendir($fname);
            while($dname = readdir($dir))
            {
                if($dname!="." && $dname!="..")//非常重要,一定要有,不然会把整个磁盘删掉,危险!!!
                {
                    $durl = $fname."/".$dname;
                    if(is_file($durl))
                    {
                        unlink($durl);
                    }
                    else
                    {
                        ShanChu($durl);
                    }
                }
            }
            closedir($dir);
            //删除该文件夹
            rmdir($fname);    
        }
        else
        {
            //如果是文件,直接删掉
            unlink($fname);
        }
    }
  • 相关阅读:
    C# int类型的GetProperty的PropertyType返回的是Int32,无法通过typeof(int)或者typeof(Int32)进行比较
    MVC5 Authentication身份认证
    java各个类型判断为空
    table固定列宽,每列超出部分用...代替,鼠标悬停显示全部内容
    web前后台数据交互的四种方式(转)
    List<Map<String,String>>操作(遍历,比较)
    JavaScript实现简单的打印功能
    Expected one result (or null) to be returned by selectOne(), but found: 2
    Eclipse Code Template 设置自动加注释(转)
    highcharts动态获取数据生成图表问题
  • 原文地址:https://www.cnblogs.com/mengshenshenchu/p/6879130.html
Copyright © 2020-2023  润新知