동영상 강좌는 유튜브 채널 '웹학교'를 이용하시기 바랍니다.
이번 장에서는 서버에서 파일을 열고 읽고 닫는 방법을 설명합니다.
PHP fopen() - 파일 열기
파일을 여는 더 좋은 방법은 fopen()함수를 사용하는 것입니다. 이 함수는 readfile()함수보다 더 많은 옵션을 제공합니다.
강좌 진행을 위해 happy.txt 파일을 사용합니다.
실전홈페이지제작강좌 = 99,000원 CSS Grid강좌 = 33,000원 PHP5 강좌 = 33,000원 다국어솔루션 = 150,000원 자동차매매솔루션 = 365,000 |
fopen()함수의 첫번째 매개변수는 열 파일의 이름을 포함하고 두번째 매개변수는 파일을 열때의 모드를 지정합니다.
아래 예는 fopen()함수가 지정된 파일을 열 수 없는 경우에도 메시지를 생성합니다.
<?php
$myfile = fopen("happy.txt", "r") or die("파일을 열 수 없습니다!");
echo fread($myfile,filesize("happy.txt"));
fclose($myfile);
?>
** fread()와 fclose()는 아래에 설명되어 있습니다.
파일은 아래 모드 중 하나에서 열 수 있습니다.
모 드 |
설 명 |
r |
읽기 전용으로 파일을 엽니다. 파일 포인터는 파일의 시작 부분에 시작합니다. |
w |
쓰기 전용으로 파일을 엽니다. 파일의 기존 내용을 지우거나 존재하지 않는 경우 새 파일을 작성합니다. 파일 포인터는 파일의 시작 부분에서 시작합니다. |
a |
쓰기 전용 파일을 엽니다. 파일의 기존 데이터가 보존됩니다. 파일 포인터는 파일의 끝에서 시작합니다. 파일이 없으면 새 파일을 만듭니다. |
x |
쓰기 전용으로 새 파일을 만듭니다. 만약 기존 파일이 있으면 False와 에러를 반환합니다. |
r+ |
읽기/쓰기용 파일을 엽니다. 파일 포인터는 파일의 시작 부분에서 시작합니다. |
w+ |
읽기/쓰기용 파일을 엽니다. 파일의 내용을 지우거나 기존파일이 존재하지 않으면 새 파일을 만듭니다. 파일 포인터는 파일의 시작 부분에서 시작합니다. |
a+ |
읽기/쓰기용 파일을 엽니다. 파일의 기존 데이터가 보존됩니다. 파일 포인터는 파일의 끝에서 시작합니다. 파일이 없으면 새 파일을 만듭니다. |
x+ |
읽기/쓰기용 새 파일을 만듭니다. 기존 파일이 있으면 false와 오류를 반환합니다. |
PHP fread() - 파일 읽기
fread()함수는 열린 파일에서 읽습니다.
fread()의 첫번째 매개 변수는 읽을 파일의 이름을 포함하고 두 번째 매개 변수는 읽을 최대 바이트 수를 지정합니다.
다음 PHP 코드는 "happy.txt"파일을 끝까지 읽습니다.
fread($myfile,filesize("happy.txt"));
PHP fclose - 파일 닫기
fclose()함수는 열려 있는 파일을 닫는 데 사용됩니다.
모든 파일을 다 마친 후에는 닫는 것이 좋습니다. 그렇지 않으면 서버에 리소스가 남게 됩니다.
fclose()함수는 닫으려는 파일의 이름(또는 파일 이름을 저장하는 변수)을 필요로 합니다.
<?php
$myfile = fopen("happy.txt", "r");
// some code to be executed....
fclose($myfile);
?>
PHP fgets() - 단일 행 읽기
fgets()함수는 파일에서 한 줄을 읽는 데 사용됩니다.
아래 예는 "happy.txt"파일의 첫 번째 줄을 출력합니다.
<?php
$myfile = fopen("happy.txt", "r") or die("파일을 열 수 없습니다!");
echo fgets($myfile);
fclose($myfile);
?>
** fgets()함수를 호출한 후 파일 포인터는 다음 행으로 이동됩니다.
PHP feof() - 파일 끝 확인
feof()함수는 "end-of-file"(EOF)에 도달했는지 확인합니다.
feof()함수는 길이가 알려지지 않은 데이터를 반복할 때 유용합니다.
아래 예는 파일 끝에 도달할 때까지 "happy.txt"파일을 한 줄 씩 읽습니다.
<?php
$myfile = fopen("happy.txt", "r") or die("파일을 열 수 없습니다!");
// Output one line until end-of-file
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
PHP fgetc() - 한 문자 읽기
fgetc()함수는 파일에서 하나의 문자를 읽는 데 사용됩니다.
아래 예는 파일 끝에 도달할 때까지 "happy.txt"파일을 문자 단위로 읽습니다.
<?php
$myfile = fopen("happy.txt", "r") or die("파일을 열 수 없습니다!");
// Output one character until end-of-file
while(!feof($myfile)) {
echo fgetc($myfile);
}
fclose($myfile);
?>
fgetc()함수를 호출하면 파일 포인터가 다음 문자로 이동합니다.
그누보드5 / 영카트 5
fopen() -- /lib/latest.lib.php 최신글을 캐시에 저장하는 역할을 합니다.
fclose() -- /lib/latest.lib.php
fread() -- /lib/thumbnail.lib.php 이미지를 읽어오는데 사용..
fgets() -- /lib/common.lib.php
feof() -- /lib/common.lib.php
fgetc() --
등록된 댓글이 없습니다.