홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
PHP 파일 내용 읽기(fread함수)
11년 전
[PHP]  파일 내용 읽기(fread함수)

fread 함수를 이용한 파일 내용 읽기


php 에서 제공하는 fread 함수는 파일 포인터가 참조하는 파일의 내용을 지정한 크기만큼 읽어 들이는 함수입니다. 지정한 크기만큼 읽어 들였거나, 파일의 끝에 도달하면 읽기가 종료됩니다.

아래는 fread 함수의 원형으로 fp가 파일 포인터이고, length 가 지정한 크기입니다.

string fread ( int fp, int length )

아래의 fread 함수로 파일의 내용을 읽어들이는 예제입니다.

<?php

   $filename = "test.php";
   $fp = fopen($filename, "r") or die("파일열기에 실패하였습니다");
   $buffer = fread($fp, filesize($filename));
   echo "<pre>".htmlspecialchars($buffer)."</pre>";
   fclose($fp);

?>




위의 예제는 filesize 함수를 이용해서 "test.php"파일의 내용을 파일크기 만큼 한번에 읽어들이는 예제입니다. 파일크기가 작으면 상관 없겠지만 파일크기가 큰경우에는 문제가 발생할 수 있습니다.
파일을 읽어들이기 위해서는 일단 메모리에 로드되어야 하는데, 파일이 굉장히 큰 사이즈의 파일인 경우 메모리 로드중에 에러가 발생할 수 있습니다.

그렇다고 php.ini에서 memory_limit 의 제한을 풀어버리거나, 아주 크게 잡는것도 좋은 방법은 못 됩니다.
위의 예제는 아래와 같이 읽어들일 바이트를 지정하는 방법으로 변경하는 것이 바람직 한 방법입니다.

<?php

   $filename = "test.php";
   $fp = fopen($filename, "r") or die("파일열기에 실패하였습니다");
   while(!feof($fp)){
      $buffer .= fread($fp,1024);
   }
   echo "<pre>".htmlspecialchars($buffer)."</pre>";
   fclose($fp);

?>




위의 예제에서는 "test.php" 파일의 내용을 1024 바이트씩 읽어들이는 방법을 취하고 있습니다.

추천추천 : 216 추천 목록
번호 제목
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
3,005
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,004
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,003
 [jQuery] jQuery Quick API
3,002
 [ transition ] 링크 hover 색상 변화 속도 조절
3,001
 PHP 5.3.0 에서 사라진 함수들 대체
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.