文件类型与路径
文件类型
•定义:一般指存储在外部介质上具有名字(文件名)的一组相关数据集合
•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 |