file_exists
file_put_contents
파일시스템 함수 목록
PHP Manual

# file_get_contents

(PHP 4 >= 4.3.0, PHP 5)

file_get_contents — Reads entire file into a string

### 설명

string file_get_contents ( string `$filename` [, int `$flags`= 0 [, resource `$context` [, int `$offset`= -1 [, int `$maxlen`= -1 ]]]] )

This function is similar to file(), except that file_get_contents() returns the file in a string, starting at the specified `offset` up to `maxlen` bytes. On failure, file_get_contents() will return `FALSE`.

file_get_contents() is the preferred way to read the contents of a file into a string. It will use memory mapping techniques if supported by your OS to enhance performance.

> Note: If you're opening a URI with special characters, such as spaces, you need to encode the URI with urlencode().

### 인수

`filename`

  Name of the file to read.

`flags`

  > Note: Prior to PHP 6, this parameter is called `use_include_path` and is a bool. As of PHP 5 the `FILE_USE_INCLUDE_PATH` can be used to trigger include path search.

  The value of `flags` can be any combination of the following flags (with some restrictions), joined with the binary OR (|) operator.

  Available flags
  Flag | Description
  --- | ---
  `FILE_USE_INCLUDE_PATH` | Search for `filename` in the include directory. See include_path for more information.
  `FILE_TEXT` | As of PHP 6, the default encoding of the read data is UTF-8. You can specify a different encoding by creating a custom context or by changing the default using stream_default_encoding(). This flag cannot be used with `FILE_BINARY`.
  `FILE_BINARY` | With this flag, the file is read in binary mode. This is the default setting and cannot be used with `FILE_TEXT`.

`context`

  A valid context resource created with stream_context_create(). If you don't need to use a custom context, you can skip this parameter by `NULL`.

`offset`

  The offset where the reading starts.

`maxlen`

  Maximum length of data read.

### 반환값

The function returns the read data or `FALSE` on failure.

### 예제

Example #1 Get and output the source of the homepage of a website

`<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>`

Example #2 Searching within the include_path

`<?php
// <= PHP 5
$file = file_get_contents('./people.txt', true);
// > PHP 5
$file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH);
?>`

Example #3 Reading a section of a file

`<?php
// Read 14 characters starting from the 21st character
$section = file_get_contents('./people.txt', NULL, NULL, 20, 14);
var_dump($section);
?>`

위 예제의 출력 예시:

    string(14) "lle Bjori Ro"

Example #4 Using stream contexts

`<?php
// Create a stream
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above
$file = file_get_contents('http://www.example.com/', false, $context);
?>`

### 변경점

버전 | 설명
--- | ---
6.0.0 | The `use_include_path` parameter was replaced by the `flags` parameter.
5.1.0 | Added the `offset` and `maxlen` parameters.
5.0.0 | Added context support.

### 주의

> Note: 이 함수는 바이너리 안전입니다.

Tip

fopen 래퍼를 활성화하면, 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 지원 프로토콜/래퍼 목록를 참고하십시오.

Warning

SSL을 사용할 때, 마이크로소프트 IIS는 close_notify 식별자를 보내지 않은채 접속을 종료하는 프로토콜 오류가 있습니다. PHP는 데이터의 마지막에 도달했을때, 이를 "SSL: Fatal Protocol Error"로 보고합니다. 이를 처리하기 위해서는 error_reporting 레벨에 경고를 포함하지 않도록 해야합니다. PHP 4.3.7 이후는 https:// 래퍼를 통해 스트림을 열 때, 문제가 있는 IIS 서버 소프트웨어를 검출하여 경고를 하지 않습니다. ssl:// 소켓을 만들기 위해 fsockopen()을 사용한다면, 경고를 직접 검출하여 없애야 합니다.

### 참고

- file() - Reads entire file into an array
- fgets() - Gets line from file pointer
- fread() - Binary-safe file read
- readfile() - Outputs a file
- file_put_contents() - Write a string to a file
- stream_get_contents() - Reads remainder of a stream into a string
- stream_context_create() - Create a streams context

file_exists
file_put_contents
파일시스템 함수 목록
PHP Manual