세이박스

'읽기'에 해당되는 글 1건

  1. PHP 파일읽기 - fopen()

PHP 파일읽기 - fopen()

웹프로그램
1: 2: // get contents of a file into a string
3: $filename = "/usr/local/something.txt"
;                // 불러올 파일
4: $handle = fopen($filename, "r"
);                       // 파일 열기
5: $contents = fread($handle, filesize($filename
));       // 파일의 전체 내용을 읽어 $contents 변수에 담기
6: fclose($handle
);                                       // 파일 닫기
7: echo($contents);
?>
 
위 내용은 PHP매뉴얼 fread() 편에 수록된 예제입니다.
 
4:라인에서 실제 파일의 존재여부나 읽기 오류 체크가 가능합니다.
(예 - if (!($handle = fopen($filename, "r"))) exit('파일을 찾을 수 없습니다);
 
5: 라인에서 사용한 fread()는 파일 전체의 내용을 한꺼번에 읽어옵니다만, 파일이 수MB에 달항 정도로 크면 시스템 자원을 많이 차지합니다. 따라서 다음과 같이 1라인씩(엔터가 있는곳까지) 읽어들여 처리할 수 있습니다.
while (!feof($handle)) {
 
$buffer = fgets($handle, 4096
);      // 엔터가 있는곳까지 최대 4096byte를 읽어옵니다.
  echo
$buffer
;                        // 읽은 라인을 출력합니다.
}
6: 라인은 열려져있는 파일을 닫습니다. 생략 할 경우 결과에는 문제 없지만 시스템 자원소모+파일손상 등의 결과를 초래할 수 있으니 반드시 넣어주시기 바랍니다.