PHP 파일 처리
fopen() 함수는 PHP에서 파일을 여는 데 사용됩니다.
파일 열기
PHP에는 별도의 파일 생성 함수가 없습니다. 파일을 생성하고 열려면 fopen() 함수를 사용합니다. fopen() 함수를 사용하여 파일을 열 때 파일이 존재하지 않으면 파일 생성을 시도하고 리소스가 반환됩니다. 열기가 실패하면 함수는 FALSE를 반환합니다.
구문
resource fopen(string $filename, string mode)
이 함수의 첫 번째 매개변수에는 열려는 파일의 이름이 포함됩니다. , 두 번째 매개변수는 파일을 여는 데 사용할 모드를 지정합니다.
<html> <body> <?php $file=fopen("welcome.txt","r"); ?> </body> </html>
파일은 다음 모드로 열 수 있습니다.
Mode > r 읽기 전용입니다. 파일의 시작 부분에서 시작합니다. <<>
R+ 읽기/쓰기. 파일의 시작 부분에서 시작합니다. ~ ~ . 파일 내용을 열고 지웁니다. 파일이 없으면 새 파일을 만듭니다. ~ ~ 파일 내용을 열고 지웁니다. 파일이 없으면 새 파일을 만듭니다. ~ . 파일을 열어 파일 끝에 쓰거나, 파일이 없으면 새 파일을 만듭니다. ~ 파일 끝에 기록하여 파일 내용을 유지합니다. 새 파일을 만듭니다. 파일이 이미 존재하는 경우 FALSE와 오류를 반환합니다. ~ . 새 파일을 만듭니다. 파일이 이미 존재하는 경우 FALSE와 오류를 반환합니다.
참고: fopen() 함수가 지정된 파일을 열 수 없으면 0(false)을 반환합니다. 예
<html> <body> <?php $file=fopen("welcome.txt","r") or exit("Unable to open file!"); // 不能打开指定文件的错误信息: Unable to open file ?> </body> </html>Close the filefclose () 열린 파일을 닫는 데 사용되는 함수:
<?php $file = fopen("test.txt","r"); //执行一些代码 fclose($file); ?>
파일 끝(EOF) 감지
feof() 함수는 파일 끝(EOF) 여부를 감지합니다. )에 도달했습니다.
feof() 함수는 길이를 알 수 없는 데이터를 반복할 때 유용합니다.
참고: w, a 및 x 모드에서는 열려 있는 파일을 읽을 수 없습니다!
if (feof($file)) echo "파일 끝";파일을 한 줄씩 읽기
fgets() 함수는 파일에서 한 줄씩 파일을 읽는 데 사용됩니다.
string fgets( int handler [, int length] )
fgets()는 핸들이 가리키는 파일에서 한 줄을 읽고 최대 길이-1바이트 길이의 문자열을 반환합니다. 개행 문자(반환 값에 포함됨), EOF 또는 length-1바이트를 읽은 후에 중지됩니다. 길이를 지정하지 않으면 기본값은 1K 또는 1024바이트입니다.
예
다음 예에서는 파일이 끝날 때까지 파일을 한 줄씩 읽습니다.
<?php $file = fopen("welcome.txt", "r") or exit("无法打开文件!"); // 读取文件每一行,直到文件结尾 while(!feof($file)) { echo fgets($file). "<br>"; } fclose($file); ?>
파일을 문자별로 읽습니다
fgetc() 함수는 파일에서 문자별로 파일을 읽는 데 사용됩니다.
참고: 이 함수를 호출하면 파일 포인터가 다음 문자로 이동합니다.
예
다음 예는 파일이 끝날 때까지 파일을 한 문자씩 읽습니다.
<?php $file=fopen("welcome.txt","r") or exit("无法打开文件!"); while (!feof($file)) { echo fgetc($file); } fclose($file); ?>
전체 파일을 읽습니다
fread() 함수는 파일을 읽는 데 사용됩니다(바이너리 파일에 안전함).
구문:
string fread( int handler, int length )
fread()는 파일 포인터 핸들에서 최대 length 바이트를 읽습니다. 다음 상황 중 하나가 발생하면 파일 읽기가 중지됩니다.
최대 길이 바이트를 읽은 후
파일 끝(EOF)에 도달한 경우
(네트워크 스트림의 경우) 패킷을 사용할 수 있는 경우
또는 (사용자 공간 스트림을 연 후) 8192바이트를 읽은 경우
파일에서 10개 읽기 바이트(공백 포함):
<?php $filename = "test.txt"; $fh = fopen($filename, "r"); echo fread($fh, "10"); fclose($fh); ?>
file_get_contents()
file_get_contents() 함수는 전체 파일을 문자열로 읽어들이는 데 사용됩니다. 성공하면 문자열을 반환하고, 실패하면 FALSE를 반환합니다. .
구문:
string file_get_contents( string filename [, int offset [, int maxlen]] )
매개변수 설명:
매개변수 설명
filename 읽어올 파일명
offset Optional , 읽기 시작 위치를 지정합니다. 기본값은 파일의 시작 위치입니다.
maxlen 선택 사항, 읽기 파일의 길이를 바이트 단위로 지정합니다.
예:
<?php $filename = 'NoAlike.txt'; $filestring = file_get_contents($filename); echo $filestring; ?>
fwrite()
fwrite() 함수는 파일에 문자열을 쓰고 성공적으로 쓰여진 문자 수를 반환하는 데 사용됩니다. FALSE를 반환합니다.
구문:
int fwrite( 리소스 핸들, 문자열 문자열 [, int 길이] )
fwrite()는 문자열의 내용을 파일 포인터 핸들.
매개변수 설명:
매개변수 설명
handle 문자열을 쓸 파일 포인터 , 일반적으로 fopen() 함수는
기록할 문자열 데이터
를 생성합니다.length 선택 사항, 쓸 최대 바이트 수를 지정합니다.
선택적 매개 변수 length가 지정된 경우 length 바이트를 쓰거나 문자열을 쓰면 쓰기가 중지됩니다.
예:
<?php // 要写入的文件名字 $filename = 'file.txt'; // 写入的字符 $word = "你好!"; $fh = fopen($filename, "w"); echo fwrite($fh, $word); // 输出:6 fclose($fh); ?>
프로그램과 동일한 디렉터리에서 file.txt 파일의 내용은 다음과 같습니다. Hello!
위의 예에서 길이 매개변수를 사용하면 최대 길이의 문자열을 작성할 수 있습니다.
echo fwrite($fh, $word, 4) // 출력 : 4
file_put_contents()
file_put_contents() 함수는 문자열을 넣는 데 사용됩니다. 파일에 쓰고, 성공하면 파일에 쓰여진 데이터의 바이트 수를 반환하고, 실패하면 FALSE를 반환합니다.
구문:
int file_put_contents(문자열 파일 이름, 문자열 데이터 [, int 플래그 [, 리소스 컨텍스트]])
매개변수 설명:
매개변수 설명
filename 데이터를 쓸 파일 이름
data 쓸 데이터입니다. 유형은 문자열, 배열(다차원 배열은 아님) 또는 스트림 리소스일 수 있습니다.
플래그 선택 사항이며 파일 열기/쓰기 방법을 지정합니다. 가능한 값:
FILE_USE_INCLUDE_PATH: 파일 이름 복사본의 내장 경로를 확인하세요.
FILE_APPEND: 파일 끝에 추가된 데이터 쓰기
LOCK_EX: 파일을 잠급니다.
context 선택 사항, Context는 텍스트 속성을 수정할 수 있는 옵션 집합입니다.
예:
<?php echo file_put_contents("test.txt", "This is something."); ?>
이 예를 실행하면 브라우저 출력이 표시됩니다. :
18