PHP 파일 열기/읽기/닫기

본 절에서는 서버에서 파일을 열고 읽고 닫는 방법을 설명합니다.

PHP 파일 열기 - fopen()

파일을 열는 더 나은 방법은 fopen() 함수를 사용하는 것입니다. 이 함수는 readfile() 함수보다 더 많은 옵션을 제공합니다.

본 과정에서는 텍스트 파일 "webdictionary.txt"를 사용하겠습니다:

AJAX = 비동기 자바스크립트 및 XML
CSS = 캐스케이딩 스타일 시트
HTML = 히퍼 텍스트 마크업 언어
PHP = PHP 히포텍스트 프로세서
SQL = 구조화된 쿼리 언어
SVG = 대규모 벡터 그래픽
XML = 확장 가능 마크업 언어

fopen()의 첫 번째 매개변수는 열릴 파일의 이름을 포함하고, 두 번째 매개변수는 파일을 열는 모드를 정의합니다. fopen() 함수가 지정된 파일을 열지 못하면, 아래의 예제는 메시지를 생성합니다:

예제

<?php
$myfile = fopen("webdictionary.txt", "r") or die("파일 열림 실패!");
echo fread($myfile, filesize("webdictionary.txt"));
fclose($myfile);
?>

실행 예제

푸시:우리는 fread() 및 fclose() 함수를 다음으로 배웁니다.

파일은 다음 중 하나의 모드로 열립니다:

모드 설명
r 읽기로만 파일을 열어 파일 포인터는 파일开头에서 시작합니다.
w 쓰기로만 파일을 열어 파일 내용을 지우거나 파일이 없으면 새 파일을 생성합니다. 파일 포인터는 파일开头에서 시작합니다.
a 쓰기로만 파일을 열어 파일 내의 기존 데이터를 유지합니다. 파일 포인터는 파일 끝에서 시작합니다. 파일이 없으면 새 파일을 생성합니다.
x 쓰기로만 파일을 생성합니다. 파일이 이미 존재하면 FALSE와 오류를 반환합니다.
r+ 읽기/쓰기로 파일을 열고 파일 포인터는 파일开头에서 시작합니다.
w+ 읽기/쓰기로 파일을 열어 파일 내용을 지우거나 파일이 없으면 새 파일을 생성합니다. 파일 포인터는 파일开头에서 시작합니다.
a+ 읽기/쓰기로 파일을 열어 이미 있는 데이터를 유지합니다. 파일 포인터는 파일 끝에서 시작합니다. 파일이 없으면 새 파일을 생성합니다.
x+ 읽기/쓰기로 새 파일을 생성합니다. 파일이 이미 존재하면 FALSE와 오류를 반환합니다.

PHP 파일 읽기 - fread()

fread() 함수는 열린 파일을 읽습니다.

fread()의 첫 번째 매개변수는 읽을 파일의 이름을 포함하고, 두 번째 매개변수는 읽을 최대 바이트 수를 정의합니다.

아래 PHP 코드는 "webdictionary.txt" 파일을 끝까지 읽습니다:

fread($myfile, filesize("webdictionary.txt"));

PHP 파일 닫기 - fclose()

fclose() 함수는 열린 파일을 닫기 위해 사용됩니다.

주의사항:파일을 사용한 후 모두를 닫는 것은 좋은 프로그래밍 습관입니다. 여러분은 서버 리소스를 사용하는 파일을 열고 싶지 않습니다.

fclose()는 닫혀야 할 파일의 이름(또는 파일 이름을 저장한 변수)이 필요합니다:

<?php
$myfile = fopen("webdictionary.txt", "r");
// 실행되어야 할 일부 코드...
fclose($myfile);
?>

PHP 파일을 단일 행으로 읽기 - fgets()

fgets() 함수는 파일에서 단일 행을 읽기 위해 사용됩니다.

"webdictionary.txt" 파일의 첫 번째 줄을 출력하는 예제:

예제

<?php
$myfile = fopen("webdictionary.txt", "r") or die("파일 열림 실패!");
echo fgets($myfile);
fclose($myfile);
?>

실행 예제

주의사항:fgets() 함수를 호출한 후, 파일 포인터는 다음 행으로 이동합니다.

PHP End-Of-File 확인 - feof()

feof() 함수는 "end-of-file" (EOF)에 도달했는지 확인합니다.

feof()는 불명확한 길이의 데이터를 순회하는 데 매우 유용합니다.

아래 예제는 "webdictionary.txt" 파일을 단일 행으로 읽고 파일의 마지막 문자까지 읽습니다:

예제

<?php
$myfile = fopen("webdictionary.txt", "r") or die("파일 열림 실패!");
// 파일의 마지막 문자까지 단일 행을 출력
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>

실행 예제

PHP 단일 문자 읽기 - fgetc()

fgetc() 함수는 파일에서 단일 문자를 읽기 위해 사용됩니다.

아래 예제는 "webdictionary.txt" 파일을 단일 문자로 읽고 파일의 마지막 문자까지 읽습니다:

예제

<?php
$myfile = fopen("webdictionary.txt", "r") or die("파일 열림 실패!");
// 파일의 마지막 문자까지 단일 문자를 출력
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

실행 예제

주의사항:fgetc() 함수를 호출한 후, 파일 포인터는 다음 문자로 이동합니다.

PHP Filesystem 참조 매뉴얼

완전한 PHP 파일 시스템 참조 매뉴얼을 필요로 하시면, CodeW3C.com에서 제공하는 PHP Filesystem 참조 매뉴얼