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>
출력 결과는 다음과 같습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!