PHP 개발 파일 포인터, 파일 잠금

WBOY
풀어 주다: 2016-08-08 09:26:31
원래의
1049명이 탐색했습니다.

(1) rewind() 함수
이 함수는 파일 핸들의 포인터를 파일 스트림의 시작 부분으로 설정합니다. 구문은 다음과 같습니다.
bool rewind(리소스 핸들)

(2)fseek() 함수
fseek() 함수는 파일 포인터의 위치 지정을 구현합니다. 구문은 다음과 같습니다.
int fseek(리소스 핸들,int offset[,int whence])
핸들 매개변수는 열려는 파일입니다
offset은 포인터 위치이거나 매개변수를 기준으로 한 오프셋이며 음수 값일 수 있습니다.
wherece에는 다음 세 가지 유형이 포함됩니다.
a, SEEK_SET, 위치는 오프셋 바이트와 같습니다.
b, SEEK_CUR, 위치는 현재 위치에 오프셋 오프셋을 더한 값과 같습니다.
c, SEEK_END, 위치는 파일 끝에 오프셋 오프셋을 더한 값과 같습니다.
whence 매개변수가 생략되면 시스템은 기본적으로 SEEK_SET로 설정됩니다.

(3) feof() 함수
이 함수는 파일 포인터가 파일 끝에 있는지 확인하는 데 사용됩니다. 구문 형식은 다음과 같습니다.
bool feof(자원 관리)
파일 포인터가 파일 끝에 도달하면 true를 반환하고 그렇지 않으면 false를 반환합니다

(4) ftell() 함수
ftell() 함수는 현재 포인터의 위치를 ​​반환하는 데 사용됩니다. 구문 형식은 다음과 같습니다.
int ftell(resource handler)

샘플 코드는 다음과 같습니다.

<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, file 잠금

파일에 쓸 때는 다른 사용자가 동시에 파일을 수정하지 못하도록 먼저 파일을 잠가야 합니다. PHP에서는 Flock() 함수를 사용하여 파일 잠금을 구현합니다. 구문은 다음과 같습니다.
bool Flock(int 핸들,int 연산)
핸들은 열린 파일 포인터이고 작업 매개변수는 다음과 같습니다.

파일 잠금, 쓰기, 잠금 해제 및 닫기에 대한 샘플 코드는 다음과 같습니다.

<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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿