• 文件操作


    PHP中的根与网页中的跟(/)区别:

    PHP中根(/)代表磁盘目录;

    网页中的根(/)代表www目录

    1.文件:文件和文件夹

    <?php
    
    1.判断文件
    var_dump(filetype("./aa"));
    //若果是文件夹返回dir,如果是文件则返回file
    
    var_dump(is_dir("./aa"));
    //判断是不是文件夹。true 、false
    
    echo date("Y-m-d H:i:s",fileatime("./aa.txt"));
    //输出格式化的时间戳
    
    echo filesize("aa.txt");<br />
    //获取文件大小
    
    var_dump(file_exists("./aaa.txt"));
    //判断文件是否存在

    2.文件路径:

    echo $_SERVER['DOCUMENT_ROOT'];
    //取到的是www位置(根从哪开始)
    
    echo basename("/wamp/www/11.php",".php");
    //返回的是文件名(获取名字不要后缀)
    
    echo dirname("/wamp/www/11.php");
    //获取目录
    
    var_dump(pathinfo("/wamp/www/11.php"));
    //返回数组
    
    echo realpath("./aa.txt");
    //把相对路径转化成绝对路径

    3.目录操作:

    mkdir(路径以及要创建的文件名)
    //创建
    
    rmdir("./bb");    
    //删除,只能删除空文件夹
    
    rename("./cc","./aa/dd");
    //移动文件夹
    
    var_dump(glob("./fenye/*.php"));
    //返回该目录下所有的php文件,相当于windows里面的搜索

    $dir = opendir("./fenye");
    //打开目录资源

    echo readdir();
    //读取内容

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

    遍历目录:

    var_dump(glob("./zufang/*"));//遍历租房文件夹下所有的文件,相当于未按里面的额搜索。
    
    var_dump(glob("./zufang/*.php"));//遍历文件格式为php的文件
    
    $dir = opendir("./zufang");//打开目录资源,打开以后一定要记得关闭。
    
    echo readdir();//返回.  .代表当前目录
    echo readdir();//返回..  ..代表上级目录
    echo readdir();//返回第一个文件
    echo readdir();//返回第二个文件
    
    while($f = readdir($dir)) //遍历出所有的文件,文件夹也可以读取。
    {
        echo $f;
    }

    例题:给一个文件夹,读取文件夹里面文件的数量

    echo ShuLiang("./zufang");
    function ShuLiang($filename)
    {
        $sum = 0;
        $dir = opendir($filename);
        while($f = readdir($dir))
        {
            if($f=="." || $f=="..")//如果遍历出的是.或者..,什么也不执行.
            {
                
            }
            else
            {
                $lujing = $filename."/".$f;
                if(is_file($lujing))
                {
                    $sum++;
                }
                else
                {
                    $sum = $sum+ShuLiang($lujing);
                }
            }
        }
        closedir($dir);
        return $sum;
    }

    文件操作:

    (1)文件整体操作
    
    touch("./cc.txt");//创建文件
    
    copy("./cc.txt","./aa/cc.txt");//赋值文件,第一个参数是要复制的文件,第二个是把文件复制到哪里。
    
    unlink("./cc.txt");//删除文件
    
    echo file_get_contents("./aa.txt");//读取文件内容只能读取txt、html、php等,word、wxcle文档不能读取。
    
    echo file_get_contents("http://www.baidu.com");//这个方法比较重要,可以从网上抓取数据,用正则表达式匹配。
    
    file_put_contents("./aa.txt","hello");//往文件里写内容,写的内容会覆盖原来的内容。
    
    file_put_contents("./ceshi.php","hello");//修改往网页里面的内容
    
    readfile("http://www.baidu.com");//获取并且输出,前面没有写输出。 file_get_contents需要写输出echo。
    
    var_dump(file("http://www.baidu.com"));//把网页的代码一行一行的显示出来。
    
    
    $f = fopen("./aa.txt","r");//第一个参数是打开的文件,第二个是打开的方式,方式具体可以查看php手册。
    
    echo fgetc($f);//aa.txt的内容是hello。这里返回的是h
    echo fgetc($f);//返回e
    echo fgetc($f);//返回l
    ...fgetc()是一次读一个
    
    echo fgets($f);  //一次读一行
    
    echo fread($f,2);  //读取的长度,这里是读取2个长度,返回he。
    
    fclose($f);//文件打开以后一定要关上,如果不关是不能进行别的操作的。
    
    
    $f = fopen("./aa.txt","a");  //a方式是追加
    
    fwrite($f,"world");  //把world写在hello后面
    
    fclose($f);
    
    
    
    
    
    
    给一个文件夹,删除该文件夹
    
    ShanChu("./zufang");
    
    function ShanChu($filename)
    {
        if(is_dir($filename))  //判断是文件
        {
            $dir = opendir($filename);  //打开文件夹
            
            while($f = readdir($dir))  //遍历出文件夹里所有的内容
            {
                if($d=="." || $d=="..")  //去掉.和..
                {
                    
                }
                else  //操作不是.和..的内容
                {
                    $fname = $filename."/".$f;  //找到遍历出的内容,拼出来的格式类似wamp/zufang
                    if(is_file($fname))  //如果是文件
                    {
                        unlink($fname);
                    }
                    else  //如果是文件夹
                    {
                        ShanChu($fname);  //再调用ShanChu方法,删除的文件夹变了。
                    }
                }
            }
            closedir($dir);  //关闭文件夹
            rmdir($filename);  //把文件夹里的内容都删除以后,删除文件夹
        }
        else  //如果是空文件夹
        {
            unlink($filename);  //删除该空文件夹
        }
    }
  • 相关阅读:
    ngix反向代理-之反向
    redux和flux究竟有什么不同, 说点自己的理解
    npm发包记录
    由一个聚焦-focus-事件异常跟踪引起的总结
    git查看分支的几个方法
    test-your-mind-快速测试自己的代码
    contos7 yum安装php7.2与swoole (2)
    php_ thinkphp 时间回滚
    30个php操作redis常用方法代码例子
    redis_php 安装与卸载
  • 原文地址:https://www.cnblogs.com/u1020641/p/6074573.html
Copyright © 2020-2023  润新知