博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件的操作
阅读量:5111 次
发布时间:2019-06-13

本文共 4715 字,大约阅读时间需要 15 分钟。

一、文件:文件和目录

(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     else37     {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                 else18                 {19                     ShanChu($durl);20                 }21             }22         }23         closedir($dir);24         //删除该文件夹25         rmdir($fname);    26     }27     else28     {29         //如果是文件,直接删掉30         unlink($fname);31     }32 }

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

 

转载于:https://www.cnblogs.com/douchenchen/p/6879133.html

你可能感兴趣的文章
IOS开发系列—Objective-C之Foundation框架
查看>>
专业实训题目需求分析
查看>>
第二天习题
查看>>
输入10个整数,将它们从大到小排序后输出。
查看>>
poj1178 floyd+枚举
查看>>
A2-01-02.Install MySQL
查看>>
Mybatis深入之事务管理
查看>>
Win7 64位 php-5.5.13+Apache 2.4.9+mysql-5.6.19 配置
查看>>
Android Bluetooth Stack: Bluedroid(五岁以下儿童):The analysis of A2DP Source
查看>>
android WebView总结
查看>>
选项卡登录
查看>>
python目录
查看>>
django+uwsgi+nginx+sqlite3部署+screen
查看>>
Andriod小型管理系统(Activity,SQLite库操作,ListView操作)(源代码下载)
查看>>
C#网络爬虫
查看>>
CentOS 6及7 丢失root密码解决方案
查看>>
在Server上得到数据组装成HTML后导出到Excel。两种方法。
查看>>
用PowerShell脚本删除SharePoint 的 Page中的WebPart
查看>>
VMware网络设置
查看>>
浅谈项目需求变更管理
查看>>