首页> 基础笔记 >PHP基础学习 >文件处理 文件处理

PHP文件目录操作总结

作者:小萝卜 2019-08-26 浏览 826

简介PHP文件目录操作总结

PHP文件目录操作总结
 
 一、概述:
 -------------------------
1.1 文件类型:
文件在windows系统下分为3种不同:文件、目录、未知
在linux/unix系统下分为7种不同:block、char、dir、fifo、file、link和unknown七种类型
 
1.2 文件的常用函数:
* filetype() --获取文件类型的函数:
 
* is_dir( ) -- 判断给定文件名是否是一个目录
语法结构:bool is_dir(名称)
返回类型:如果文件名存在并且是一个目录则返回 true,否则返回 false。
 
is_executable( ) -- 判断给定文件名是否可执行
语法结构:bool is_executable(名称)
返回类型:如果文件存在且可执行则返回 true ,否则返回 false 。
 
* is_file( ) -- 判断给定文件名是否为一个正常的文件
语法结构:bool is_file(名称)
返回类型:如果文件存在且为正常的文件则返回 true 。
 
is_link( ) -- 判断给定文件名是否为一个符号连接
语法结构:bool is_link(名称)
返回类型:如果文件存在并且是一个符号连接则返回 true。
 
is_readable( ) -- 判断给定文件名是否可读
语法结构:bool is_readable(文件名称)
返回类型:如果文件存在并且可读则返回 true 。
 
* is_writable( ) -- 判断给定的文件名是否可写
语法结构:bool is_writable(文件名称)
返回类型:如果文件存在并且可写则返回 true 。
 
*file_exists( ) 检查文件或目录是否存在
*filesize() 取得文件大小(不能获取目录大小)
is_readable() 判断文件是否可读
is_writable() 判断文件是否可写
*filectime() 获取文件的创建时间
filemtime() 获取文件的修改时间
fileatime() 获取文件的访问时间
stat() 获取文件大部分属性
 
二、目录的相关操作
----------------------------------------------
2.1 路经的方式:
windows系统:D:/a/b/c.php 或 D:\a\b\c.php
linux/unix系统: /a/b/c.php
 
为统一建议使用"/"作为目录之间的分割符
 
2.2 路径的相关函数(4个):
1. basename("url地址"[,去除部分]) -- 获取指定url的文件名
2. dirname("url地址") -- 获取地址的路径值
示例:
$url = "http://www.baidu.com/a/b/c.php";
echo $url."<br/>"; //http://www.baidu.com/a/b/c.php
echo basename($url)."<br/>"; //c.php
echo basename($url,".php")."<br/>"; //c (去掉".php")
echo dirname($url)."<br/>"; //http://www.baidu.com/a/b
 
*3. pathinfo(文件路径[,需要的下标])--获取文件路径的详细信息,返回一个关联数组
结果:下标:dirname 路径名
basename 文件名
extension 后缀名
filename 文件名(去掉后缀的)
示例:
$url = "http://www.baidu.com/a/b/c.php";
*echo pathinfo($url,PATHINFO_DIRNAME); //http://www.baidu.com/a/b
*echo pathinfo($url,PATHINFO_EXTENSION); //php 后缀名
*echo pathinfo($url,PATHINFO_BASENAME); //c.php 文件名
$a = pathinfo($url); 
$a结果:
array(4) {
  ["dirname"]=>
  string(24) "http://www.baidu.com/a/b"
  ["basename"]=>
  string(5) "c.php"
  ["extension"]=>
  string(3) "php"
  ["filename"]=>
  string(1) "c"
}
4. realpath()--获取指定文件的绝对路径
示例: echo realpath("1.php"); //D:\AppServ\www\lamp45\09_file_dir\1.php
 
 
2.3 目录的遍历函数:
*opendir("") -- 打开一个目录,返回此目录的资源句柄
*readdir(资源句柄) -- 从目中读取一个目录或文件,并指针向下移动一位。
*closedir(资源句柄)-- 关闭打开的目录
rewinddir(资源句柄) -- 倒回目录指针(移至首位)
 
 
2.4 统计空间的大小
echo "当前磁盘可用大小:".(disk_free_space("./")/1024/1024/1024)."G<br/>";
echo "当前磁盘共计大小:".(disk_total_space("./")/1024/1024/1024)."G<br/>";
 
2.5 目录的操作
*mkdir() -- 创建一个目录
*rmdir() -- 删除一个目录(只支持删除空目录)
*unlink() -- 删除一个文件
 
2.6 复制文件:
copy() --- 复制文件。不支持目录复制
 
三、文件基本操作
----------------------------------------------------
*1. fopen(文件名,打开模式) ---打开一个文件
模式:读(r、r+)、 清空写(w/w+), 追加写(a/a+)、 创建模式(x,x+)
*打开模式: *r: 只读模式打开文件,文件指针执行首位。
r+: 可读可写模式打开文件,文件指针执行首位,若文件指针不是在最后,则是覆盖写。
*w: 以写方式打开文件,文件内容清空,若文件不存在,则尝试创建。
w+: 以写和读方式打开文件,文件内容清空,若文件不存在,则尝试创建。(也会覆盖写)
*a: 以追加内容方式打开文件,指针移至最后,若文件不存在,则尝试创建。
a+: 以追加内容和可读方式打开文件,指针移至最后,若文件不存在,则尝试创建。
x: 以创建方式打开文件,可写。若文件已存在,则报错。
x+: 以创建方式打开文件,可写可读。若文件已存在,则报错。
附加模式:
t: txt文本模式(字符流)
b: byte字节模式(二进制)默认 (字节流)
如:fopen("a.txt","rb");
 
文件的读写操作也叫流操作,其中流分为字符流(t)和字节流(b 二进制)
 
*2. fread(打开的文件资源,读取的长度) -- 读取文件内容。
 
*3. fwrite(打开的文件资源,被写入的字串[,长度]) -- 向文件写入内容。
 
*4. fclose(打开的文件资源) -- 关闭文件
 
5. fgets() -- 从文件资源中读取一行
 
6. fgetc() -- 读取一个字符
 
------------不用打开文件可直接操作文件的函数-----------------------
*7. file() 将文件读出(内容是数组格式),并返回
*8. readfile() 将文件内容读出,并输出
9. file_get_contents() 读取文件内容
10.file_put_contents() 将指定内容写入文件
 
---------------------文件指针的操作--------------------------------
11. ftell() --返回文件指针的位置
12. fseek() --设置文件指针的位置
示例:
fseek($f,-2,SEEK_CUR); //从当前指针位置开始,向前移动2位
fseek($f,2,SEEK_SET);  //从文件指针开始位置,向后移动2位
fseek($f,-5,SEEK_END);   //从文件指针的最后位置开始,向前移动5位
13. rewind()  --将文件指针移至首位
 
------------文件锁(了解)---------------------------
14. bool flock ( int $handle , int $operation [, int &$wouldblock ] )
轻便的咨询文件锁定
  operation参数:
要取得共享锁定(读取的程序),将 operation 设为 LOCK_SH(PHP 4.0.1 以前的版本设置为 1)。 
要取得独占锁定(写入的程序),将 operation 设为 LOCK_EX(PHP 4.0.1 以前的版本中设置为 2)。 
要释放锁定(无论共享或独占),将 operation 设为 LOCK_UN(PHP 4.0.1 以前的版本中设置为 3)。 
如果不希望 flock() 在锁定时堵塞,则给 operation 加上 LOCK_NB(PHP 4.0.1 以前的版本中设置为 4)。 
 
*15. rename() --修改文件名
16. ftruncate() — 将文件截断到给定的长度

 

 

很赞哦! (0)

文章评论

    高端网站建设