ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • file_get_contents
    Technique/PHP 2016. 4. 8. 12:01
    반응형

    string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = 0 [, int $maxlen ]]]] )

     

    함수는 file() 닮아 있지만, offset으로 지정한 장소에서 부터 시작해 maxlen 바이트 까지만 파일 내용을 문자열로 읽어들이는 점이 다릅니다.

    실패한 경우 file_get_contens() FALSE 반환합니다.

     

    file_get_contents() 파일의 내용을 문자열로 읽는 방법으로서 바람직합니다. 혹시 OS 서포트하고 있다면 퍼포먼스 상향을 위하여 메모리 맵핑 기술이 사용됩니다.

     

    주의 :

    공백과 같은 특수한 문자를 가지고 있는 URI 오픈할 경우에는 urlencode() 해당 URL 엔코드할 필요가 있습니다,

     

    파라메터

    filename

    • 데이터를 읽어 들이고 싶은 파일명

    use_include_path

    • 주의 : PHP5 이후로부터 정수 FILE_USE_INCLUDE_PATH 사용하여 include_path 로부터 검색하는 것이 가능합니다.

    context

    • stream_context_create() 작성한 콘텍스트 리소스 독자적인 콘텍스트를 사용할 필요가 없는 경우에는 파라메터를 NULL 지정해주세요.

    offset

    • 원래의 스트림상에, 읽기를 시작할 offset 위치
    • 리모트 파일에 대한 디스크상의 위치( offset 지정) 대응하지 않습니다. offset 작은경우는 리모트 파일로 디스크의 위치를 제대로 지정할 있지만 이것은 버퍼링이 걸린 스트림상에서 동작하고 있을 뿐입니다.

    maxlen

    • 읽기 데이터의 최대 바이트수, 기본값은 파일을 끝까지 읽습니다. 파라메터는 필터가 처리한후에 스트림에 적용되기에 주의하세요.

     

    반환치

    • 읽기가 끝난 데이터를 반환합니다. 실패한 경우 FALSE 반환합ㅎ니다.
    • 경고 : 함수는 논리치 FALSE 반환할 가능성이 있습니다만, FALSE로서 평가될 값을 반환할 가능성도 있습니다. 상세한 정보는 논리치의 파트를 참조하세요. 함수의 반환치를 제대로 사용하라면 === 연산자를 사용하세요

     

    에러/예외

    • filename 찾을 없을 경우, maxlength 0보다 작은경우,  또는 스트림내에 지정한 offset 디스크상 위치가 실패한경우 E_WARNNING레벨의 에러가 발생합니다.


    주의 : 함수는 바이너리 데이터에 대응하고 있습니다.

    힌트 : fopen wrappers 유효한 경우, 함수의 파일명으로 URL 사용하는 것이 가능합니다. 파일명의 지정방법에 대한 상세한 내용은 fopen() 참고해주세요. 서포트할 프로토콜/wrapper에는 여러가지  wrapper 기능이나 사용법, 제공될 정의된 변수등의 정보가 정리되어 있습니다.

    경고 : IIS 같은 몇가지의 표준에 대응하지 않는 WEB서버는 PHP 경고를 발생가능한 순서로 데이터를 송신합니다. 이런 서버를 사용할 경우 error_reporting 경고를 발생시키지 않는 레벨까지 작게 설정할 필요가 있습니다. PHP에서는 https:// wrapper 스트림을 오픈할 경우에는 버그가 있는 IIS서버 소프트웨어를 검출할 있어, 경고를 억제할 있습니다. 당신이 ssl:// 소켓을 작성하기위해 fsocketopen() 사용하고 있는 경우 스스로 경고를 검출하여 억제할 필요가 있습니다.

    반응형

    'Technique > PHP' 카테고리의 다른 글

    money_format  (0) 2016.04.15
    move_uploaded_file  (0) 2016.04.11
    spl_autoload_register  (0) 2015.12.15
    에러 출력하기  (0) 2015.12.08
    객체지향 설계 5원칙  (0) 2015.12.08

    댓글

Designed by Tistory.