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

    一、文件:文件和目录

    (1)判断文件的类型用:filetype()

     1 filetype("文件路径+文件名") //判断文件的类型 

    例如:我这里查找的的同级目录中的wenjianjia文件,输出看下结果

     1 var_dump(filetype("./wenjianjia")); //判断是文件还是目录 

    (2)判断文件是不是目录用:is_dir()

     1 is_dir("文件路径+文件名") //判断文件是不是目录 

    例如:我这里查找的的当前目录中的wenjianjia文件,判断文件是不是目录,输出看下结果

     1 var_dump(is_dir("./wenjianjia")); //判断是否是目录 

    返回的是true证明这是个目录,如果是false就不是目录。

    (3)判断是不是文件用:is_file()

     1 is_file("路径+文件名") //判断文件是不是文件 

    例如:判断下这个文件是文件不?看下输出效果

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

    效果和(2)是一样的就不上图了。

    二、文件属性

    (1)获取文件上次的访问时间用:fileatime()

     1 fileatime("路径+文件名") //获取文件上次的访问时间 

    例如:我这里查找aa.txt的文件,我先将文件的属性截图看下,后面的会用到这个属性框

    查看这个文档的上一次访问时间:

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

    和上图中是一样的

    (2)获取文件的修改时间用:filemtime()

     1 filemtime("路径+文件名") //获取文件的修改时间 

    例如:查看aa.txt文件的修改时间

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

    效果和上面一样

    (3)获取文件的创建时间用:filectime()

     1 filectime("路径+文件名") //获取文件的创建时间  

    例如:查看aa.txt文件的创建时间

     1 echo date("Y-m-d H:i:s",filectime("./wenjianjia/aa.txt")); //文件的创建时间  

    效果和(1)一样

    (4)获取文件的大小用:filesize()

     1 filesize("路径+文件名") //获取文件的大小   

    例如:查看aa.txt文件的大小

    和图是一样的这是因为我文档里面没写东西所以是0

    (5)获取文件是否存在用:file_exists()

     1 file_exists("路径+文件名") //获取文件是否存在 

    例如:查看aa.txt文件是否存在

     1 var_dump(file_exists("./wenjianjia/aa.txt")); //判断文件是否存在 

    返回的是true证明有这个文件,如果是false就没有这个文件。

    三、文件路径

    文件路径以下几种:
    1 ./代表当前目录
    2 ../代表上一级目录
    3 /代表根目录
          (3.1)网页里面的根:代表www目录
          (3.2)php里面的根:代表磁盘目录

    下面看各种方法的用处:

    (1)获取当前服务器的根www

     1 $_SERVER['DOCUMENT_ROOT'] //获取当前服务器的根www 

    (2)获取路径中的文件名

     1 basename("文件") //一个参数:就是文件的路径 

    例如:获取一个文件中的一个文件

     1 echo basename("./wenjianjia/aa.txt"); //获取路径中的文件名 

    (3)获取去掉后缀的文件名

     1 basename("文件",".后缀名") //有两个参数:第一个是文件的路径,第二个就是去掉后缀名是什么 

    例如:还是找一个文件中的一个文件

     1 echo basename("./wenjianjia/aa.txt",".txt"); //有两个参数:第一个是文件的路径,第二个就是去掉后缀名是什么 

    (4)获取路径中除去文件名的部分

     1 dirname("文件") //一个参数,正常的文件路径就可以 

    例如:还是查找上面的那个文件

     1 echo dirname("./wenjianjia/aa.txt"); //获取路径中的文件夹目录 

    结果就是没有文件名只剩下路径了

    (5)获取文件信息,返回数组

     1 pathinfo("文件名") 

    例如:还是wenjianjia文件中的aa文件

     1 var_dump(pathinfo("./wenjianjia/aa.txt")); //获取路径信息 

    (6)将相对路径转换成绝对路径

     1 realpath("文件") 

    例如,当前文件中的一个文件

     1 echo realpath("./wenjianjia/aa.txt"); //将相对路径转化成绝对路径 

    四、遍历目录

    (1)返回目录下的所有文件 :glob()

     1 var_dump(glob("./wenjianjia/*.txt")); //获取目录下所有文件 

    例题::获取某一个目录下所有文件的大小

     1 echo fileCount("./wenjianjia");
     2 
     3 function fileCount($fname)
     4 {
     5     //该文件夹下所有文件数量
     6     $sum = 0;
     7     //判断给的是不是文件夹
     8     if(is_dir($fname))
     9     {
    10         //打开文件夹
    11         $dir = opendir($fname);
    12         
    13         while($wenjian = readdir($dir))
    14         {
    15             if($wenjian!="." &&$wenjian!="..")
    16             {
    17                 //文件的完整路径
    18                 $furl = $fname."/".$wenjian;
    19                 if(is_file($furl))
    20                 {
    21                     $sum++;
    22                 }
    23                 else if(is_dir($furl))
    24                 {
    25                     //获取该文件夹下文件数量,累加
    26                     $sum = $sum + fileCount($furl);
    27                 }
    28             }
    29             
    30         }
    31         
    32         //关闭文件夹
    33         closedir($dir);
    34         return $sum;
    35     }
    36     else
    37     {
    38         echo "给的文件夹不对";
    39     }
    40 }

    和上面的图上的数字都是5所以是正确的

    (2)创建一个新的文件夹(现在的文件夹内的内容)

     1 mkdir("./aa"); //创建目录 

    (3)删除文件夹(,目录必须为空)

     1 rmdir("./aa"); //删除目录,目录必须为空 

    没有了

    (4)移动目录

    原来测试文件夹在里

     1 rename("./wenjianjia/ceshi","../ceshi"); //移动目录 

    没有了

    移到了这里

    五、文件整体操作

    1 //touch("./aa.txt"); //创建文件
    2 //copy("./aa.txt","../aa.txt"); //复制文件
    3 //unlink("./aa.txt"); //删除文件
    4 
    5 //echo file_get_contents("http://www.baidu.com"); //读取文件
    6 //file_put_contents("11.txt","hello"); //写内容
    7 //readfile("./11.txt"); //读取并输出
    8 //var_dump(file("11.txt")); //读取文件内容,返回数组,每行是一个元素

    六、文件内容操作

     1 $f = fopen("./wenjianjia/.txt","r"); //打开文件并返回文件资源:两个参数:可以选择打开模式:r只读,r+读写入,w写入新内容,并且清空原来的内容,a追加新内容
     2 fwrite($f,"hello world"); //写入内容
     3  
     4 echo fgetc($f);
     5 echo fgetc($f);
     6 echo fgetc($f); //读取文件内容,一个字符一个字符的读
     7 echo fgets($f);
     8 echo fgets($f); //读取文件内容,每次读一行
     9 echo fread($f,10); //读取文件内容,按照长度来读:两个参数,一个是文件,另一个是长度,可以控制读取
    10  
    11 fclose($f); //关闭文件资源

    例题:删除文件夹

     1 ShanChu("./wenjianjia");
     2 function ShanChu($fname)
     3 {
     4     if(is_dir($fname))
     5     {
     6         //在删除之前,把里面的文件全部删掉
     7         $dir = opendir($fname);
     8         while($dname = readdir($dir))
     9         {
    10             if($dname!="." && $dname!="..")
    11             {
    12                 $durl = $fname."/".$dname;
    13                 if(is_file($durl))
    14                 {
    15                     unlink($durl);
    16                 }
    17                 else
    18                 {
    19                     ShanChu($durl);
    20                 }
    21             }
    22         }
    23         closedir($dir);
    24         //删除该文件夹
    25         rmdir($fname);    
    26     }
    27     else
    28     {
    29         //如果是文件,直接删掉
    30         unlink($fname);
    31     }
    32 }

    这样就把wenjianjia这个文件夹给删除了。

  • 相关阅读:
    判断字符串是否为空
    NameVirtualHost *:80 has no VirtualHosts
    angular笔记
    Angular *ngIf length
    angular 8 表单带文件上传接口
    angular8 大地老师学习笔记---第十课
    angular8 大地老师学习笔记---第九课
    angular8 大地老师学习笔记---第八课
    angular8 大地老师学习笔记---第六课
    记录一下网上找到的别人写的angualr总结
  • 原文地址:https://www.cnblogs.com/douchenchen/p/6879133.html
Copyright © 2011-2022 走看看