php标准库DirectoryIterator类的操作说明
2024-10-21 05:39:46
<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileInfo) {
if ($fileInfo->isdir()) {
//echo $fileInfo->getPathname();
echo $fileInfo->getFilename(). "\t" . $fileInfo->getSize()."</br>";
}
}
?>
文件信息函数
函数名 | 函数提供什么文件信息? |
---|---|
file_exists() | 该文件是否存在 |
fileatime() | 最后访问时间 |
filectime() | 文件inode的最后修改时间 |
filegroup() | 取得文件组(返回整数) |
fileinode() | 取得文件的信息节点数(返回整数) |
filemtime() | 取得文件数据块最后被写入的时间(返回Unix时间戳) |
fileowner() | 取得文件的所有者(返回用户ID) |
fileperms() | 取得文件的权限 |
filesize() | 取得文件大小的字节数 |
filetype() | 取得文件类型,可能返回 fifo,char,dir,block,link,file 和 unknown |
is_dir() | 判断给定文件名是否是一个目录 |
is_executable() | 判断给定文件名是否可执行(自PHP5.0.0起可用于Windows) |
is_file() | 判断给定文件名是否为一个正常的文件 |
is_link() | 判断给定文件名是否为一个符号连接 |
is_readable() | 判断给定文件名是否可读 |
is_writable() | 判断给定文件名是否可写 |
目录相关函数
函数名 | 函数提供什么文件信息? |
---|---|
mkdir() | 创建一个新目录,第二个参数可用来设置访问权限 |
rmdir() | 删除目录 |
rename() | 重命名一个文件或目录 |
目录类相关方法
DirectoryIterator类封装了很多与目录相关的方法
方法名 | 函数提供什么目录信息? |
---|---|
isDir() | 判断给定的DirectoryIterator item对象是否是一个目录 |
isDot() | 判断当前的DirectoryIterator item对象是否是‘.’或‘..’ |
isFile() | 判断当前的DirectoryIterator item对象是否是一个有效的文件 |
isLink() | 判断当前的DirectoryIterator item对象是否是一个连接 |
isReadable() | 判断当前的DirectoryIterator item对象是否可读 |
isWritable() | 判断当前的DirectoryIterator item对象是否可写 |
isExecutable() | 判断当前的DirectoryIterator item对象是否可执行 |
getATime() | 获取当前Iterator item最后访问时间 |
getCTime() | 获取当前Iterator item最后修改时间 |
getMTime() | 获取当前Iterator item文件数据块最后被写入的时间 |
getFilename() | 获取当前Iterator item文件名(带扩展名) |
getPathname() | 获取当前Iterator item路径名 |
getPath() | 获取当前Iterator item路径名和文件名 |
getGroup() | 获取当前Iterator item组ID |
getOwner() | 获取当前Iterator item拥有者ID |
getPerms() | 获取当前Iterator item权限 |
getSize() | 获取当前Iterator item文件大小 |
getType() | 获取当前Iterator item类型,可能是file,link or dir |
getInode() | 获取当前Iterator item的inode节点号 |
文件时间戳解惑
touch()函数修改文件的更新时间
fileatime()函数返回文件因为读或写被打开的最后时间
filemtime()函数返回文件内容被修改的最后时间
filectime()函数返回文件内容或元数据被修改的最后时间
获取文件信息
通过stat()可以获取一个包含文件相关信息的数组,与此函数类似的是fstat()函数,这个函数以一个文件句柄作为参数(由fopen()或popen()返回),lstat()用来获取符号或文件连接的信息。
数字索引 | 字符串索引 | 说明 |
---|---|---|
0 | dev | 设备号 |
1 | ino | 信息节点号 |
2 | mode | 保护模式 |
3 | nlink | 被连接数目 |
4 | uid | 所有者用户ID |
5 | gid | 所在组ID |
6 | rdev | 设备类型,如果是inode设备的话 |
7 | size | 文件大小的字节数 |
8 | atime | 上次访问的时间(Unix时间戳) |
9 | mtime | 上次修改的时间(Unix时间戳) |
10 | ctime | 上次改变的时间(Unix时间戳) |
11 | blksize | 文件系统IO的块大小 |
12 | blocks | 所占据块的数目 |
修改文件权限
chmod()函数修改文件的权限
chown()函数修改文件的所有者
chgrp()函数修改文件所属组
注意:上述3个函数在Windows系统中无效
获取文件名各部分信息
basename()函数可以取得文件名,dirname()函数可以取得路径名,pathinfo()取得目录名、完整文件名、扩展名、文件名(即不带扩展名)的关联数组,键名分别是[dirname]、[basename]、[extension]、[filename]
常通过dirname(__FILE__)的组合来获取当前目录路径(物理路径,常用在引用其他PHP文件上)
删除文件
用unlink()函数可以删除一个文件,如果删除失败将产生一个E_WARNING错误
提示:PHP5.0.0后此函数也可以用来删除远程文件,如FTP等
复制或移动文件
使用copy(old_dir,new_dir)函数可以复制文件,使用rename(old_dir,new_dir)移动文件,这里的new_dir是可以可以重命名文件名的。
最新文章
- winform开发 总结1>;winform程序使用线程的必要性,以及正确的使用方式
- HDU5128 细心、细心、细心
- JAVA设计模式之桥梁模式
- (转)Spring读书笔记-----Spring核心机制:依赖注入
- 化简复杂逻辑,编写紧凑的if条件语句(二):依据if子句顺序化简条件
- fiddler打开后 浏览器就上不了网的解决方法
- BOM浏览器对象模型下面几个比较实用的方法
- 关于Oracle连接超时的问题
- Windows同时安装Python2、Python3兼容运行
- Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警
- 使用代码的方式给EntityFramework edmx 创建连接字符串
- 【移动端】移动端字体单位font-size选择px还是rem
- json传参 js前端和java后端 的简单例子
- OpenGL秒安装及显示
- 修改json文件
- 10.17JS日记
- 【SpringCloud微服务实战学习系列】创建应用及解析
- (转)EF Power tool用法
- python 启航
- ubuntu 下安装摄像头驱动
热门文章
- saltstack安装+基本命令
- Displaying Modal Window Messages in Oracle Forms Using Show_Alert
- 8 Most Required Examples Reference For Oracle Forms
- 【IntelliJ Idea】idea下hibernate反向生成工具,根据数据表生成实体
- 版本控制工具:SVN和Maven的区别
- #pragma预处理命令【转】
- 使用rabbitmq rpc 模式
- UNP学习笔记(第三十章 客户/服务器程序设计范式)
- sprint3 【每日scrum】 TD助手站立会议第六天
- EMC机理------串扰