>  기사  >  php教程  >  fread, fgets, fgetc, file_get_contents 및 파일 함수를 읽는 PHP 파일

fread, fgets, fgetc, file_get_contents 및 파일 함수를 읽는 PHP 파일

WBOY
WBOY원래의
2016-10-28 15:03:252123검색

fread(), fgets(), fgetc(), file_get_contents() 및 file() 함수는 파일에서 내용을 읽는 데 사용됩니다.

프레드()

fread() 함수는 파일을 읽는 데 사용됩니다(바이너리 파일에 안전함).
구문:

<span style="color: #0000ff">string</span> <span style="color: #008080">fread</span>( int handle, int length )

fread()는 파일 포인터 핸들에서 최대 length 바이트를 읽습니다. 다음 조건 중 하나라도 발생하면 파일 읽기가 중지됩니다.

  • length바이트까지 읽은 후
  • 파일의 끝(EOF)에 도달한 경우
  • (네트워크 스트림의 경우) 패키지를 사용할 수 있는 경우
  • 또는 (사용자 공간 스트림을 연 후) 8192바이트를 읽었을 때

파일에서 10바이트(공백 포함) 읽기:

<?<span style="color: #000000">php
</span><span style="color: #008000">//</span><span style="color: #008000"> http://www.manongjc.com/article/1346.html</span>
<span style="color: #800080">$filename</span> = "test.txt"<span style="color: #000000">;
</span><span style="color: #800080">$fh</span> = <span style="color: #008080">fopen</span>(<span style="color: #800080">$filename</span>, "r"<span style="color: #000000">);
</span><span style="color: #0000ff">echo</span> <span style="color: #008080">fread</span>(<span style="color: #800080">$fh</span>, "10"<span style="color: #000000">);
</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fh</span><span style="color: #000000">);
</span>?>

파일 내용을 문자열로 읽고 싶다면 file_get_contents()를 사용하면 성능이 더 좋아집니다.

fgets()

fgets() 함수는 파일에서 데이터 라인을 읽고 파일 포인터가 다음 라인을 가리키는 데 사용됩니다.
팁: 파일을 읽을 때 HTML 태그를 제거하려면 fgetss() 함수를 사용하세요.
구문:

<span style="color: #0000ff">string</span> <span style="color: #008080">fgets</span>( int handle [, int length] )

fgets()는 핸들이 가리키는 파일에서 한 줄을 읽고 최대 길이-1바이트 길이의 문자열을 반환합니다. 개행 문자(반환 값에 포함됨), EOF 또는 length-1바이트를 읽은 후에 중지합니다. 길이를 지정하지 않으면 기본값은 1K 또는 1024바이트입니다.
예:

<?<span style="color: #000000">php
</span><span style="color: #800080">$fh</span> = @<span style="color: #008080">fopen</span>("test.txt","r") or <span style="color: #0000ff">die</span>("打开 test.txt 文件出错!"<span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000"> if条件避免无效指针
// http://www.manongjc.com/article/1347.html</span>
<span style="color: #0000ff">if</span>(<span style="color: #800080">$fh</span><span style="color: #000000">){
    </span><span style="color: #0000ff">while</span>(!<span style="color: #008080">feof</span>(<span style="color: #800080">$fh</span><span style="color: #000000">)) {
        </span><span style="color: #0000ff">echo</span> <span style="color: #008080">fgets</span>(<span style="color: #800080">$fh</span>), '<br />'<span style="color: #000000">;
    }
}
</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fh</span><span style="color: #000000">);
</span>?>

추가 지침

feof() 함수는 파일 포인터가 파일 끝에 도달했는지 테스트합니다. 파일 포인터가 유효해야 합니다. 잘못된 리소스인 경우 무한 루프에 빠집니다. "PHP 파일 포인터 기능"을 참조하세요

fgetc()

fgetc() 함수는 파일의 끝까지 파일 데이터를 한 단어씩 읽는 데 사용됩니다.
구문:

<span style="color: #0000ff">string</span> <span style="color: #008080">fgetc</span>( <span style="color: #0000ff">resource</span> handle )

예:

<?<span style="color: #000000">php
</span><span style="color: #800080">$fh</span> = @<span style="color: #008080">fopen</span>("test.txt","r") or <span style="color: #0000ff">die</span>("打开 test.txt 文件出错!"<span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000"> http://www.manongjc.com/article/1348.html</span>
<span style="color: #0000ff">if</span>(<span style="color: #800080">$fh</span><span style="color: #000000">){
    </span><span style="color: #0000ff">while</span>(!<span style="color: #008080">feof</span>(<span style="color: #800080">$fh</span><span style="color: #000000">)) {
        </span><span style="color: #0000ff">echo</span> <span style="color: #008080">fgetc</span>(<span style="color: #800080">$fh</span><span style="color: #000000">);
    }
}
</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fh</span><span style="color: #000000">);
</span>?>

file_get_contents()

file_get_contents() 함수는 전체 파일을 문자열로 읽어들이는 데 사용되며, 성공하면 문자열을 반환하고, 실패하면 FALSE를 반환합니다.
구문:

<span style="color: #0000ff">string</span> <span style="color: #008080">file_get_contents</span>( <span style="color: #0000ff">string</span> filename [, int offset [, int maxlen]] )

매개변수 설명:
매개변수 설명
filename 읽을 파일 이름
offset 선택 사항, 읽기 시작 위치를 지정합니다. 기본값은 파일의 시작 위치입니다.
maxlen 선택 사항 , 읽기를 지정합니다. 파일 길이(바이트)
예:

<?<span style="color: #000000">php
</span><span style="color: #008000">//</span><span style="color: #008000"> 读取时同事将换行符转换成 <br />
<span style="color: #0000ff">echo</span> <span style="color: #008080">nl2br</span>(<span style="color: #008080">file_get_contents</span>('test.txt'<span style="color: #000000">));
</span>?>

파일()

file() 함수는 전체 파일을 배열로 읽는 데 사용됩니다. 배열의 각 단위는 줄 바꿈을 포함하여 파일의 해당 줄입니다. 성공하면 배열을 반환하고, 실패하면 FALSE를 반환합니다.
구문:

<span style="color: #0000ff">array</span> <span style="color: #008080">file</span>( <span style="color: #0000ff">string</span> filename )

예:

<?<span style="color: #000000">php
</span><span style="color: #800080">$lines</span> = <span style="color: #008080">file</span>('test.txt'<span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000"> 在数组中循环并加上行号
// http://www.manongjc.com/article/1349.html</span>
<span style="color: #0000ff">foreach</span> (<span style="color: #800080">$lines</span> <span style="color: #0000ff">as</span> <span style="color: #800080">$line_num</span> => <span style="color: #800080">$line</span><span style="color: #000000">) {
    </span><span style="color: #0000ff">echo</span> "Line #{<span style="color: #800080">$line_num</span>} : ",<span style="color: #800080">$line</span>,'<br />'<span style="color: #000000">;
}
</span>?>

test.txt 파일 내용:
안녕하세요!
텍스트의 두 번째 줄입니다.
브라우저 표시:
행 #0: 안녕하세요!
1번째 줄 : 텍스트의 두 번째 줄입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.