Skip to content

Latest commit

 

History

History
117 lines (86 loc) · 4.33 KB

14-文件处理系统.md

File metadata and controls

117 lines (86 loc) · 4.33 KB

文件类型与路径

文件类型

•定义:一般指存储在外部介质上具有名字(文件名)的一组相关数据集合

•windows操作系统中常见文件类型:文件、目录、未知文件

路径

路径 说明
/ 绝对路径:硬盘根目录
./ 相对路径:当前目录
../ 相对路径:上级目录
文件路径相关函数 说明
basename() 获取路径中的文件名部分
dirname() 获取路径中的目录部分
pathinfo($path,参数) 获取路径中的大部分信息,返回数组,参数:<br />PATHINFODIRNAME PATHINFOBASENAME <br />PATHINFOEXTENSION PATHINFOFILENAME

目录操作

目录操作函数

函数 说明
mkdir(完整路径目录) 创建一个目录
rmdir(完整路径目录) 删除一个目录
opendir(完整路径目录) 打开目录
readdir(资源) 读取目录
closedir(资源) 关闭目录,释放内存
is_dir(完整路径目录) 判断是否为一个有效目录
scandir(完整路径目录) 扫描目录,返回文件数组
特例: count(数组)==2 是空目录

遍历目录

//定义目录
$path = "目录";

//打开目录
$res = opendir($path);

//读取目录中的文件(每次调用,读取一个)
$file = readdir($res);

//关闭目录
closedir($res);

文件操作

文件属性函数

函数 说明
filesize(完整路径文件名) 取得一个文件的大小(字节)
filectime(完整路径文件名) 获取文件的创建时间(create)
filemtime(完整路径文件名) 获取文件的修改时间(modify)
fileatime(完整路径文件名) 获取文件的访问时间(access)

文件操作函数

函数 说明
fopen(完整路径文件名 , 参数) 打开文件(参数:r只读 w写入 x创建写入)
fread(资源 , 长度) 读取文件 长度:字节
fwrite(资源 , 内容) 写入的内容
fclose(资源) 关闭文件(资源),释放内存
filegetcontents(完整路径文件名) 将整个文件读入一个字符串相当于 fopen fread fclose组合动作
fileputcontents(完整路径文件名,要写入的数据,[FILE_APPEND]) 将字符串写入文件相当于 fopen fwrite fclose组合动作FILE_APPEND:追加写入
readfile() 将内容读入内存缓冲区
copy(源文件 , 目标文件) 拷贝文件(如果目标文件已存在,将会被覆盖)
unlink(完整路径文件名) 删除文件

中文名称

window中文版操作系统的编码是GBK,所以,需要将文件名进行转码才能在正常显示,使用 iconv() 函数,进行字符串编码转换:

$path="./中文目录/经典案例";

$path=rtrim($path,"/")."/";

//utf-8 → gbk
$path=iconv("UTF-8","GBK",$path);

//打开目录
$res=opendir($path);//现在是GBK编码

//读取文件
while($file=readdir($res)){
    //中文windows是gbk编码,需要转为utf-8,才能显示正常
    $file=iconv("GBK","UTF-8",$file);
    var_dump($file);
}

//保存中文名的文件
file_put_contents($path.iconv("utf-8", "GBk","中文名字.txt"), "文件内容");

文件判断用函数

函数 说明
is_file(完整路径文件名) 判断是否为一个有效文件
is_readable(完整路径文件名) 判断是否可读
is_writable(完整路径文件名) 判断是否可写
is_executable(完整路径文件名) 判断是否可执行
file_exists(完整路径文件名) 判断一个文件或目录是否存在

文件/目录重命名

函数 说明
rename(源 , 目标) 相同文件夹为 改名,不同文件夹为 移动
移动 文件,如果目标文件已存在,将会被覆盖
移动 目录,如果目标目录已存在,将会报错,返回false