php学习--IO操作

fopen("路径","模式")//模式--ab:追加写,2进制 r:只读
fgets==fread//读
fgetss,fgetssv,是上面读的变体
fgetc,一次读一个字符
fputs==fwrite//写

php 5+
file_put_contents//不用打开文件就可以写
file_get_contents;//不用打开文件就可以读,返回类型为字符串


状态判断
feof(文件指针变量)//判断是否到达底部

//读整个文件的内容
readfile,fpassthru,file
readfile将内容输出到浏览器后关闭文件
fpassthru需要使用fopen先打开文件,然后输出内容到浏览器后关闭文件
file返回数组,每个元素对应文件的一行


file_exists//判断文件是否存在
file_size//确定文件大小
unlink//删除文件
rewind将文件指针复位到文件开始
ftell以字节为单位报告文件指针当前在文件中的位置
fseek(指针,移动字节数,[从那里开始,可以为SEEK_SET[开始],SEEK_CUR[当前],SEEK_END[结束]])

flock(resource fp,int operation[,int &wouldblock])//锁定文件,成功返回true,否则false
==============operation==================
LOCK_SH 读操作,可以共享读
LOCK_EX 写操作锁定,互斥,不能被共享
LOCK_UN 释放已有的锁定
LOCK_NB 防止在请求加锁时发生阻塞


获取目录信息
+展开
-PHP
$cdir="/uploads";
$dir=opendir($cdir);
echo "Upload directory is $cdir";
echo "directory listing";
while($file=readdir($dir)) echo $file;
closedir($dir);

//在上面的例子中,可以使用rewindir($dir)将所读的文件回复到开始的目录

除了上面介绍的,还可以使用php提供的dir类,该类具有handle和path属性,以及read(),close()和rewind()方法,作用同上。

使用dirname($path)和basename($path)将分别返回路径的目录部分和路径的文件名称部分。
disk_free_span($path):说明磁盘(windows)或者文件系统(unix)上的剩余空间(字节为单位)

mkdir(路径,权限):创建目录
rmdir(路径):删除目录,必须为空目录


获取文件信息
fileatime():最近被访问的时间戳
fileetime():最近被修改的时间戳
fileowner():用户标识(uid)
filegroup():组标识(gid)
posix_getpwuid():将uid转换成容易理解的名字
posix_getgrgid():将gid转换成容易理解的名字
fileperms():返回文件权限码,可以使用decoct()重新格式化为8进制数。
filetype():文件类型信息,可能结果为:fifo,char,dir,block,link,file,unknown
filesize():文件大小(单位字节)
is_dir(),is_executable(),is_file(),is_link(),is_readable(),is_writeable()检查文件的指定属性并返回true或者false。

stat()获得许多同样的信息,但是返回的是和上面信息类似的数组。istat()与之类似,但是仅用符号连接文件。

*所有文件状态函数的运行都很费时。因此它们的结果将被缓存起来。如果要在变化之前或者之后检查文件信息,需要调用函数
clearstatcache();
来清除以前的缓存结果。如果希望在改变文件数据之前或者之后使用以前的脚本,应该先调用此函数来更新产生的数据。

更改文件属性chgrp(file,group),chmod(file,permission),chown(file,user)类似于unix中的同名函数。但是它们不能在windows系统中运行。


int touch(string file[,int time[,int atime]]):创建一个文件,或者修改文件上次被修改的时间。如果要创建的文件已经存在,它的修改时间将会变成当前的时间或者所给出的第二个时间参数。如果要指定时间,就应该使用时间戳格式。

unlink删除文件,旧版本的windows操作系统不能运行,但是可以使用system("del filename.txt")来删除。

使用copy和rename来复制和重新命名(移动)文件。

加支付宝好友偷能量挖...


原创文章,转载请注明出处:php学习--IO操作

评论(0)Web开发网
阅读(132)喜欢(1)PHP/apache/Perl