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

php中文网
发布: 2016-08-08 09:26:31
原创
1229人浏览过

(1) rewind() 函数
该函数将文件handle的指针设为文件流的开头,语法如下:
bool rewind(resource handle)

(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)

示例代码如下:

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

}<span>else</span>{
    <span>echo</span><span>"文件不存在"</span>;
}

<span>?></span></span></code>
登录后复制

运行结果如下:

2,文件锁定

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

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

华文笔杆
华文笔杆

写材料用华文,华文笔杆帮你搞定公文写作

华文笔杆 491
查看详情 华文笔杆
<code>
<?php

<span>$filename</span> =<span>"1.txt"</span>;
<span>$handle</span> =<span>fopen</span>(<span>$filename</span>, <span>"w"</span>);
flock(<span>$handle</span>, LOCK_EX);
<span>$str</span> =<span>"MMMMMMMMMMMMMMMMMMMMM"</span>;
<span>fwrite</span>(<span>$handle</span>, <span>$str</span>);
flock(<span>$handle</span>, LOCK_UN);
<span>fclose</span>(<span>$handle</span>);
readfile(<span>$filename</span>);


?>

</code>
登录后复制

运行结果如下:

立即学习PHP免费学习笔记(深入)”;

以上就介绍了php开发之文件指针,文件锁定,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号