PHP文件操作总结

一、PHP是以UNIX的文件系统为模型的。在*nix上可以有七种文件类型,而在win上只有'file'、'dir'、'unknown'三种类型,在unix上的七种类型如下:

文件类型

描述

block

块设备文件,如磁盘块,光驱等

char

字符设备,以字符为单位传送的设备,如键盘等

dir

目录类型,目录也是文件的一种

fifo

命名管道,用于将信息从一个进程传递到另一个进程

file

普通文件类型

link

符号链接,是指向文件指针的指针

unknown

未知类型

二、PHP文件属性处理函数。

函数名

作用

参数

返回值

file_exists()

检查文件或者目录是否存在

文件名

文件存在返回true,否则返回false

filesize()

取得文件大小

文件名

返回文件大小,出错返回false

is_readable()

判断给定文件名是否可读

文件名

文件存在且可读返回true

is_writable()

判断给定文件名是否可写

文件名

文件存在且可写返回true

is_executable()

判定给定文件名是否可执行

文件名

文件存在且可执行返回true

filectime()

获取文件创建时间

文件名

返回文件的创建时间戳

filemtime()

获取文件修改时间

文件名

返回文件的修改时间戳

fileatime()

获取文件访问时间

文件名

返回文件的访问时间戳

stat()

获取文件的大部分属性值

文件名

返回文件的信息数组

注意:以上函数所获得的文件信息将被PHP缓存,若该文件在脚本执行期间有被修改的危险,应该使用clearstatcache()清除缓存。

三、PHP目录操作函数。

函数名

作用

参数

返回值

basename()

返回路径中的文件名部分

路径,[文件后缀名]

不传入后缀名则返回整个文件名包括后缀名

dirname()

返回路径中的路径

全路径

路径名

pathinfo()

返回关联数组

全路径

包含路径,基本名,后缀名的数组

opendir()

打开一个目录

路径名

返回一个目录句柄

readdir()

读取目录句柄中的一个文件名

目录句柄

返回目录句柄中的一个文件名,并将文件指针后移一位,移动到目录尾部则返回false

rewindir()

倒回目录句柄

目录句柄

将文件指针移动会目录开头

closedir()

关闭目录句柄

目录句柄

opendir打开的句柄关闭

mkdir()

创建一个目录

路径,[mode]

成功返回true,否则false

rmdir()

删除一个空目录

路径

成功返回true,否则false(若文件夹里有文件,得先删除文件)

也可使用dir类,不过个人觉得不是很有用

四、PHP文件操作

函数名

作用

参数

fopen()

打开一个文件,返回文件句柄

路径,模式

fclose()

关闭一个已经打开的文件

文件句柄

fwrite()

将规定长度的内容写入文件

文件句柄,内容,[长度]

file_put_contents()

将一个字符串写入文件

文件句柄,内容

feof()

判断文件句柄的指针是否已经在末尾

文件句柄

copy()

复制一个文件

文件句柄,位置

unlink()

删除一个文件

文件句柄

ftruncate()

截取文件

文件句柄,截取长度

rename()

重命名文件

文件句柄,新名字

文件读取函数

函数名

作用

参数

fread()

读取打开的文件

文件句柄,长度

file_get_contents()

将文件读入字符串

文件句柄

filegets()

从打开的文件中返回一行

文件句柄

filegetc()

从打开的温江中返回一个字符

文件句柄

file()

把文件读入一个数组之中

文件路径(不需要fopen

readfile()

读一个文件,并输出到输出缓冲中

文件句柄

 

移动文件指针

函数名

作用

参数

ftell()

返回指针当前所在位置

文件句柄

fseek()

移动文件指针到制定位置

文件句柄,偏移量(默认从头开始,SEEK_CUR从当前位置)

rewind()

移动文件指针到文件开头

文件句柄

五、文件锁定机制

flock(handle,opreation[,wouldblock]),锁定文件,第一个参数为已经打开的文件句柄,第二个参数为锁定类型,其值如下:

LOCK_SH 共享锁定,用于读

LOCK_EX 独占锁定,用于写

LOCK_UN 释放锁定,用于释放以上两种锁定

LOCK_NB 附加锁定,加上附加锁时不会被阻塞而是返回false(如flock('file.txt',LOCK_EX+LOCK_NB))

锁定操作可以被fclose释放(php5.3后不会)。

第三个参数用于指明是否被锁定。

你可能感兴趣的:(PHP,文件操作)