文档章节

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
441
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
108
0
PECL 和 PEAR 有什么区别?

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

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

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

zzxtbl
2016/02/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
6
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部