欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php开发之文件指针,文件锁定

程序员文章站 2022-03-29 17:26:23
...
(1) rewind() 函数
该函数将文件handle的指针设为文件流的开头,语法如下:
bool rewind(resource handle)
php开发之文件指针,文件锁定
(2)fseek() 函数
fseek()函数实现文件指针的定位,语法如下:
int fseek(resource handle,int offset[,int whence])
handle 参数为要打开的文件
offset为指针位置或者相对whence的参数的偏移量,可以是负值。
whence 包括以下三种:
a,SEEK_SET,位置等于offset字节。
b, SEEK_CUR,位置等于当前位置加上offset偏移量。
c, SEEK_END,位置等于文件结尾加上offset偏移量。
如果忽略 whence参数,系统默认为SEEK_SET。

(3) feof()函数
该函数用来判断文件指针是否是在文件尾,语法格式如下:
bool feof(resource hanlde)
如果文件指针到了文件尾,就返回true,否则返回false

(4) ftell()函数
ftell()函数用来返回当前指针的位置,语法格式如下:
int ftell(resource handle)

示例代码如下:

$filename ="1.txt";
if (is_file($filename)) {
    echo"文件总字节数:".filesize($filename)."
"
; $handle =fopen($filename, "rb"); echo"指针的初始位置尾:".ftell($handle)."
"
; fseek($handle, 25); //移动指针位置echo"使用fseek()函数后指针的位置:".ftell($handle)."
"
; echo"输出当前指针后面的内容:".fgets($handle)."
"
; if (feof($handle)) { echo"当前指针指向文件末尾".ftell($handle)."
"
; } else{ echo"当前指针没有志向末尾:".ftell($handle)."
"
; } rewind($handle); echo"使用rewind()函数后当前指针指向位置:".ftell($handle)."
"
; echo"输出25个字节后的内容:".fgets($handle,25)."
"
; fclose($handle); }else{ echo"文件不存在"; } ?>

运行结果如下:
php开发之文件指针,文件锁定

2,文件锁定

在一个文件进行写入操作时,需要先锁定该文件,以防止其他用户同时修改此文件。在php中,文件的锁定使用flock()函数来实现的。语法如下:
bool flock(int handle,int operation)
handle为一个已经打开的文件指针,operation的参数如下表:
php开发之文件指针,文件锁定

锁定,写入,解锁关闭文件的示例代码如下:


$filename