文档章节

PHP文件操作总结

wddqing
 wddqing
发布于 2014/03/09 13:19
字数 1195
阅读 85
收藏 3

一、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后不会)。

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

© 著作权归作者所有

wddqing
粉丝 10
博文 25
码字总数 10891
作品 0
广州
程序员
私信 提问
本地php环境不支持curl_exec的解决办法

在测试安装某源码时,安装程序检测到本地php环境不支持curl_exec 我果断进行了一阵搜索后,东拼西凑找到了一些php环境不支持curl_exec的解决办法,通过自己实际操作解决了这个问题。以下是自...

似水的流年
2017/12/29
0
0
php导入导出excel实例

这里实现的PHP导入导出excel功能用到的是开源PHPExcel,执行下面的操作之前请先下载该类库文件,官方网站:http://www.codeplex.com/PHPExcel,官网案例代码很多,导出pdf什么的都有,这里主...

card123
2015/09/24
359
0
Redis 笔记与总结7 PHP + Redis 信息管理系统(用户信息的增删改查)

Redis 笔记与总结7 PHP + Redis 信息管理系统(用户信息的增删改查) 1. PHP 连接 Redis 访问 redis 官方网站的 client 栏目:http://www.redis.io/clients#php,可以获取 redis 的 php 扩展...

蜗牛奔跑
2016/05/10
78
0
PECL 和 PEAR 有什么区别?

要为大家分享的内容是PECL 和 PEAR 他们之间的不同和相同之处。 PEAR 是“PHP Extension and Application Repository”的缩写,即PHP扩展和应用仓库。   PEAR 将PHP程序开发过程中常用的功...

slagga
2016/11/15
9
0
svn钩子(POST-COMMIT)+jenkins 代码上线流程

综上所述,一个通过svn的钩子结合的Jenkins独有的特性,来构建这个网站代码上线的架构吧!不多啰嗦了。 安装svn 、 Jenkins的安装请看博客的链接 http://zzxtbl.blog.51cto.com/7620672/174...

zzxtbl
2016/02/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

最开始学习素描的步骤是什么?

最开始学习素描的步骤是什么?很多学画画的朋友们都会问直接跳过素描不学素描行不行,小编非常的肯定告诉你不行,素描是所以绘画类的基础,台阶是一层一层筑起的,目前的现实是未来理想的基础...

设绘嗨
20分钟前
1
0
Caused by: java.lang.ClassCastException: scala.collection.mutable.WrappedArray

code val linkPairSum = F.udf( (list:List[Map[Long,Int]]) => { var map = Map[Long,Int]() for(m <- list){ if(m != null){ ......

张欢19933
21分钟前
1
0
git常见问题

一、clone代码 clone 1.登录账号密码不对 fatal: Authentication failed for 2.权限不足 Permission denied (publickey) 或者emote: User permission denied fatal: unable to access u......

hexiaoming123
31分钟前
1
0
Mybatis操作mysql 8的Json字段类型

Json字段是从mysql 5.7起加进来的全新的字段类型,现在我们看看在什么情况下使用该字段类型,以及用mybatis如何操作该字段类型 一般来说,在不知道字段的具体数量的时候,使用该字段是非常合...

算法之名
39分钟前
35
0
Windows7至Windows10的升级建议

目前,诸多企业或已开始在进行Windows7至Windows10的升级,或正在规划Windows7升级至Windows10。 主要原因有两个: Windows7的生命周期即将结束,这意味着再也无法获取Windows7的安全更新,以...

嘉为科技
41分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部