• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-23) 37次浏览 已收录 0个评论

(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的参数如下表:

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

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

运行结果如下:

<script type=”text/javascript”> $(function () { $(‘pre.prettyprint code’).each(function () { var lines = $(this).text().split(‘\n’).length; var $numbering = $(‘

    ‘).addClass(‘pre-numbering’).hide(); $(this).addClass(‘has-numbering’).parent().append($numbering); for本文来源gaodai$ma#com搞$$代**码)网8搞代gaodaima码 (i = 1; i <= lines; i++) { $numbering.append($('

  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

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


    搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:php开发之文件指针,文件锁定

    喜欢 (0)
    [搞代码]
    分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址