判别:
file_exists()
is_dir()
is_file()
is_writable() - is_writeable()
is_readable()
is_executable()
链接:
is_link(string $filename) - 判断给定文件名是否为一个符号连接
readlink(string $path) - 返回符号连接指向的目标
link (string $target, string $link) - 建立一个硬连接
symlink (string $target, string $link) - 建立符号连接
linkinfo(string $path) - 获取一个连接的信息(返回 lstat 系统调用所返回的 UNIX C stat 结构中的 st_dev 字段。 如果出错则返回 0 或 FALSE。)
lstat(string $filename) - 获取由 filename 指定的文件或符号连接的统计信息。
lchown()
lchgrp()
文件上传:
is_uploaded_file(string $filename) - 判断文件是否是通过 HTTP POST 上传的(为了能使 is_uploaded_file() 函数正常工作,必须指定类似于 $_FILES['userfile']['tmp_name'] 的变量,而在从客户端上传的文件名 $_FILES['userfile']['name'] 不能正常运作)
move_uploaded_file(string $filename) - 将上传的文件移动到新位置
文件路径相关:
basename() - 返回路径中的文件名部分(只会根据传入的路径字符串来判断,并不会真的去找这个路径是否存在)
dirname() - 返回路径中的目录部分
pathinfo(string $path [, $options]) - 返回文件路径的信息
$options可以是:
PATHINFO_DIRNAME - 目录部分
PATHINFO_BASENAME - 文件名部分(文件名和后缀)
PATHINFO_FILENAME - 文件名
PATHINFO_EXTENSION - 后缀
不传入$options,默认返回一个包涵4者的数组
realpath - 返回规范化的绝对路径名(所有的符号连接并且处理输入的 path 中的 '/./', '/../' 以及多余的 '/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 '/../' 成分)
realpath_cache_get()
realpath_cache_size()
tempnam()
tmpfile()
文件权限:
umask()
chown() - 改变文件的所有者
chgrp() - 改变文件所属组
chmod(string $filename , int $mode) - 改变文件模式
1.mode 不会被自动当成八进制数值,而且也不能用字符串(例如 "g+w"),所以必须是 '0777'
2.mode 也支持特殊的 's' 和 't' --- 虽然我暂时也想不起这些权限了。。
fileperms(string $filename) - 取得文件的权限
1.以数字模式返回文件的访问权限,第一位的 '文件类型',也是数字
2.想直观的显示权限,例如:'-rwxr-xr--' 这种格式,参照手册的示例!
文件信息:
stat() - 获取由 filename 指定的文件的统计信息
1.如果 filename 是符号连接,则统计信息是关于被连接文件本身的,而不是符号连接。
lstat() - 获取由 filename 指定的文件或符号连接的统计信息
1.本函数和 stat() 函数相同,只除了如果 filename 参数是符号连接的话,则该符号连接的状态被返回,而不是该符号连接所指向的文件的状态。
fstat(resource $handle) — 通过已打开的文件指针取得文件信息
1.针对的是fopen()打开后的资源类型
文件信息返回的数组中,包含 '索引' 和 '关联' 下标,如下:
数字下标 关联键名(自 PHP 4.0.6) 说明
0 dev device number - 设备名
1 ino inode number - inode 号码
2 mode inode protection mode - inode 保护模式
3 nlink number of links - 被连接数目
4 uid userid of owner - 所有者的用户 id
5 gid groupid of owner- 所有者的组 id
6 rdev device type, if inode device * - 设备类型,如果是 inode 设备的话
7 size size in bytes - 文件大小的字节数
8 atime time of last access (unix timestamp) - 上次访问时间(Unix 时间戳)
9 mtime time of last modification (unix timestamp) - 上次修改时间(Unix 时间戳)
10 ctime time of last change (unix timestamp) - 上次改变时间(Unix 时间戳)
11 blksize blocksize of filesystem IO * - 文件系统 IO 的块大小
12 blocks number of blocks allocated - 所占据块的数目
文件操作:
touch() - 设定文件的访问和修改时间
copy() - 拷贝文件
rename() - 重命名一个文件或目录
unlink() - 删除文件
mkdir(string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]]) - 新建目录
1.mode 用八进制数指定模式,也就是说该数应以零打头
2.模式也会被当前的 umask 修改,可以用 umask() 来改变
3.$recursive - 允许创建嵌套的目录
rmdir() - 删除目录
1.该目录必须是空的,而且要有相应的权限
硬盘空间:
disk_free_space() - 返回目录中的可用空间(给出一个包含有一个目录的字符串,本函数将根据相应的文件系统或磁盘分区返回可用的字节数)
diskfreespace() - disk_free_space()别名
disk_total_space() - 返回一个目录的磁盘总大小(给出一个包含有一个目录的字符串,本函数将根据相应的文件系统或磁盘分区返回所有的字节数。 【译者注】本函数返回的是该目录所在的磁盘分区的总大小,因此在给出同一个磁盘分区的不同目录作为参数所得到的结果完全相同。 在 Unix 和 Windows 200x/XP 中都支持将一个磁盘分区加载为一个子目录,这时正确使用本函数就很有意义)
读取与写入:
file_get_contents() - 将整个文件读入一个字符串
1.用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。
file_put_contents() - 将一个字符串写入文件
file()
readfile()
fopen()
fgetc()
fgets()
fgetss()
fgetcsv()
foef()
fclose()
fflush()
flock()
fpassthru()
fputcsv()
fputs() - fwrite()的别名
fwrite()
fread()
ftell()
fseek()
rewind()
fscanf()
ftruncate()
popen()
pclose()
文件属性:
filectime()
fileatime()
filemtime()
fileinode()
fileowner()
filegroup()
fileperms()
filetype()
filesize()
匹配文件:
glob()
fnmatch(string $pattern , string $string [, int $flags = 0 ]) - 用模式匹配文件名
1.支持的模式是 'glob',我们使用 preg_match() 更强大
解析配置:
parse_ini_string()
parse_ini_file()
---------------------
作者:beyond__devil
来源:CSDN
原文:https://blog.csdn.net/beyond__devil/article/details/53771553
版权声明:本文为博主原创文章,转载请附上博文链接!