zoukankan      html  css  js  c++  java
  • php文件操作

    文件操作

    <?php
    //文件:文件和文件夹(目录)
    filetype("./aa.txt"); //判断文件类型,如果是文件返回file,如果是目录返回dir。
    var_dump(is_dir("./test"));//判断给的路径是不是目录
    is_file("./aa.txt");//判断给的路径是不是文件
    
    echo date("Y-m-d H:i:s",fileatime("./aa.txt"));//获取文件的上次访问时间
    echo date("Y-m-d H:i:s",filectime("./aa.txt"));//获取文件的创建时间
    echo date("Y-m-d H:i:s",filemtime("./aa.txt"));//获取文件的修改时间
    echo filesize("./aa.txt");//获取文件大小
    var_dump(file_exists("./aa.txt"));//判断文件是否存在
    
    //文件路径
    //当前目录:./
    //上级:../
    //下级:文件夹名/
    //根目录:/
    //根目录/有两层意思:如果在PHP里:代表硬盘根目录    在网页里:代表服务器的根目录(www)目录
    
    //做文件上传(头像,产品图片),保存在数据库的路径一定要写绝对路径
    echo $_SERVER['DOCUMENT_ROOT'];//取服务器的(www)根目录
    echo basename("./aa.txt");//路径中获取文件名
    echo basename("./aa.txt",".txt");//路径中获取文件名(去掉后缀)
    echo dirname("./test/bb.txt");//路径中目录名
    var_dump(pathinfo("./test/bb.txt"));//返回文件信息(数组)
    echo realpath("./test/bb.txt");//返回规范化的绝对路径(将相对路径转为绝对路径)
    
    //目录操作
    var_dump(glob("./Users/*.php"));//返回该目录下所有.php文件数组
    
    
    function ShuLiang($filename)
    {
        if(is_dir($filename))
        {
            $attr = glob("./Users/*");
            $s1=0;
            foreach($attr as $v)
            {
                
                if(is_dir($v))
                {
                    $s1=$s1+ShuLiang($v);
                }
                else
                {
                    $s1++;
                }
            }
            return $s1;
        }
        else if(is_file($filename))
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
    //调用目录的第二种方式
    $dir = opendir("./Users/zfz");//打开目录资源
    
    echo readdir($dir);//.当前文件(返回目录的一个文件,读一次指针向下走,注意前两个)
    echo readdir($dir);//上级文件..
    echo readdir($dir);//文件
    
    while($v=readdir($dir))
    {
        if($v=="."||$v=="..")
        {
            
        }
        else
        {
            echo $v."<br />";
        }
    }
    //读出所有数据
    closedir($dir);//关闭目录资源
    rewinddir($dir);//指针返回最初
    
    //目录操作
    mkdir("./aa");//创建目录
    rmdir("./aa");//目录必须为空才可以删除
    
    rename("./test","./testt");//重命名,移动目录文件
        
    touch("./cc.txt");//创建文件
    copy("./cc.txt","../cc.txt");//复制文件
    unlink("./cc.txt");//删除文件
        
    echo file_get_contents("./aa.txt");//读取文件内容(本地)
    //echo file_get_contents("http://www.baidu.com");//读取文件内容(远程)
    
    file_put_contents("aa.txt","ih hello");//写入文件内容(覆盖)
    
    readfile("./aa.txt");//读取文件并输出
    
    var_dump(file("aa.txt"));//将文件中每行数据放到数组
    
    
    //打开文件资源
    $fp = fopen("./aa.txt","r");
    //r只读;r+读写;w写清空;w+读写;a写入文件末尾;a+读写;
    //x创建并以写入打开;x+创建并以读写打开;加一个b代表可操作二进制文件(建议加)
    
    echo fgetc($fp);//获取文件内容(一个字符一个字符读)
    
    while($v=fgetc($fp))
    {
        echo $v;
    }
    
    echo fgets($fp)."<br/>";//获取文件内容(一次读一行)
    echo fgets($fp);
    
    echo fread($fp,10);//读取文件的内容,可以读取特定长度的内容
    
    fwrite($fp,"aaa的aa");//写入内容,w方式会覆盖
        
  • 相关阅读:
    Minimum Depth of Binary Tree leetcode java
    Maximum Depth of Binary Tree leetcode java
    Symmetric Tree leetcode java
    Same Tree leetcode java
    Binary Tree Postorder Traversal leetcode java
    Binary Tree Preorder Traversal leetcode java
    Binary Tree Inorder Traversal leetcode java
    Combinations leetcode java
    一键清除Centos iptables 防火墙所有规则
    阿里云centos7.7x64安装open,并配置ip转发和nat伪装
  • 原文地址:https://www.cnblogs.com/zhaimiaoer/p/5528480.html
Copyright © 2011-2022 走看看