>  기사  >  백엔드 개발  >  PHP 파일 처리 - 파일 읽는 방법(한 줄, 전체 파일)

PHP 파일 처리 - 파일 읽는 방법(한 줄, 전체 파일)

黄舟
黄舟원래의
2017-04-15 10:55:2110155검색

PHP 파일 처리 - 파일 읽는 방법(한 줄, 전체 파일)

파일을 읽고 쓰는 것이 파일을 열고 닫는 것보다 더 복잡합니다. . 여기서는 주로 데이터 읽기와 데이터 쓰기라는 두 가지 측면에서 설명합니다.

그런 다음 이전 기사 "PHP 파일 처리 - 파일 열기 및 닫기"에서 파일 열기 및 닫기를 소개했습니다. 파일 열기는 모든 파일 작업의 전제 조건이고 닫기는 파일 작업의 전제 조건입니다. 모든 작업을 마친 후 오늘은 파일 읽는 방법을 소개하겠습니다!

파일에서 데이터 읽기

파일에서 데이터 읽기, 문자, 문자열 한 줄 또는 전체 파일을 읽을 수 있습니다. 지정된 길이의 문자열을 읽을 수도 있습니다.

1. 전체 파일 읽기: readfile(), flie(), file_get_contents() 세 가지 함수를 아래에서 하나씩 소개하겠습니다!

readfile() 함수

readfile() 함수는 파일을 읽고 출력 버퍼에 쓰는 데 사용되며, 오류가 발생하면 false를 반환합니다. 함수 구문 형식은 다음과 같습니다.

int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )

readfile() 함수를 사용하면 파일을 열고 닫을 필요가 없고 echo, print 및 기타 출력 문도 필요하지 않습니다. 먼저 파일 경로.

flie() 함수

flie() 함수도 전체 파일의 내용을 읽을 수 있지만 file() 함수는 파일 내용을 배열 라인에 저장합니다. 줄 바꿈을 포함하여 읽기에 실패하면 false를 반환합니다. 함수의 구문 형식은 다음과 같습니다.

array file ( string $filename [, int $flags = 0 [, resource $context ]] )

file_get_contents() 함수

file_get_contents() 함수는 파일(fliename)의 내용을 문자열로 읽어옵니다. offset 및 maxlen 매개변수가 없는 경우, offset 매개변수로 지정된 위치부터 maxlen 길이의 문자열을 읽습니다. 읽기에 실패하면 false가 반환됩니다. 함수 구문 형식은 다음과 같습니다.

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )

이 함수는 바이너리 파일에 적합하며 전체 파일의 내용을 문자열로 읽는 데 선호되는 방법입니다.

다음 예에서는 위의 세 가지 함수를 사용하여 파일 내용을 별도로 읽습니다. 구체적인 코드는 다음과 같습니다.

<html>
<body>
<table width="500" border="1" cellpadding="0" cellspacing="0" >
    <tr>
        <td width="253" height="100" align="right" valign="middle" scope="col">使用 readfile()函数读取文件内容:</td>
        <td width="241" height="100" valign="middle" scope="col">
            <!--使用 readfile()函数读取tm.txt文件内容-->
            <?php readfile("tm.txt");?></td>
    </tr>
    <tr>
        <td  height="100" align="right" valign="middle">使用 file()函数读取文件内容:</td>
        <td  height="100" valign="middle" >
            <!--使用 file()函数读取tm.txt文件内容-->
            <?php
            $f_arr = file("tm.txt");
            foreach ($f_arr as $cont){
                echo $cont."<br>";
            }
            ?>
        </td>
    </tr>
    <tr>
        <td width="250" height="25" align="right" valign="middle" scope="col">使用flie_get_contents()函数读取文件内容:</td>
        <td  height="25" valign="middle" align="center" scope="col" >
            <!--使用 flie_get_contents()函数读取tm.txt文件内容-->
        <?php
            $f_chr = file_get_contents("tm.txt");
        echo $f_chr;
        ?>
        </td>
    </tr>
</table>
</body>
</html>

출력 결과는 다음과 같습니다.

PHP 파일 처리 - 파일 읽는 방법(한 줄, 전체 파일)

2. 데이터 행 읽기: fgets() 함수 및 fgetss() 함수

(1) fgets() 함수

fgets() 함수는 한 번에 한 행의 데이터를 읽는 데 사용됩니다. 함수 구문 형식은 다음과 같습니다.

string fgets ( resource $handle [, int $length ] )

매개변수 핸들은 읽어올 파일이고, 매개변수 길이는 읽어올 데이터의 길이입니다. 이 함수는 handler로 지정된 파일에서 한 줄을 읽고 최대 길이가 1바이트인 문자열을 반환할 수 있습니다. 개행 문자, EOF 또는 길이를 1번 읽은 후 중지됩니다. length-1 매개변수가 생략되면 해당 라인 끝까지 데이터를 읽습니다.

(2)fgetss() 함수

fgetss() 함수는 fgets() 함수의 변형으로, 데이터 행을 읽는 데 사용됩니다. 동시에 fgetss() 함수는 읽고 있는 콘텐츠에서 HTML 및 PHP 태그를 필터링합니다. 함수 구문은 다음과 같습니다.

string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )

이 함수는 읽기 파일에서 모든 html 및 PHP 태그를 필터링할 수 있습니다. allowed_tags 매개변수를 사용하면 필터링되지 않는 태그를 제어할 수 있습니다.

다음 예에서는 위 함수를 사용하여 각각 파일을 읽고 표시합니다. 그들 사이의 차이점을 관찰하십시오. 구체적인 코드는 다음과 같습니다.

<html>
<body>
<table  border="1" cellpadding="0" cellspacing="0" >
    <tr>
        <td align="right" valign="middle" scope="col">使用fgets()函数:</td>
        <td valign="middle" scope="col" align="center">
            <!--使用fgets()函数读取fun.php文件-->
            <?php
             $fopen = fopen("1.php","rb");
            while (!feof($fopen)){
                echo fgets($fopen);
            }
            fclose($fopen);
            ?></td>
    </tr>
    <tr>
        <td  align="right" valign="middle">使用 fgetss()函数:</td>
        <td  align="center" valign="middle" >
            <!--使用fgetss()函数读取-->
            <?php
            $fopen = fopen("1.php","rb");
            while (!feof($fopen)){
                echo fgetss($fopen);
            }
            fclose($fopen);
            ?></td>
    </tr>
</table>
</body>
</html>

출력 결과는 다음과 같습니다.

PHP 파일 처리 - 파일 읽는 방법(한 줄, 전체 파일)

이 글에서는 파일을 읽는 두 가지 방법을 소개합니다. 하나는 파일 전체를 읽는 것입니다. , 다른 하나는 한 줄의 데이터를 읽는 것입니다. 다음 글에서는 한 문자와 지정된 길이의 문자열을 읽는 방법을 소개하겠습니다. 자세한 내용은 "PHP 파일 처리 - 파일 읽기(한 문자, 문자열)를 참조하세요. )》!

위 내용은 PHP 파일 처리 - 파일 읽는 방법(한 줄, 전체 파일)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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