Forum und email

fopen

(PHP 4, PHP 5)

fopen — 파일이나 URL을 엽니다

Description

int fopen ( string $filename , string $mode [, int $ use_include_path ] )

만약filename 이 "https://"로 시작하면 (sensitive 하지 않은 경우에), HTTP 1.0 연결이 지정된 서버를 열어줍니다.그리고 파일 포인터는 응답텍스트의 시작부분으로 돌려집니다.. A '호스트:' 헤더부분은 name-based virtual hosts를 핸들링하기 위해서 요청과 함께 보내집니다.

HTTP 리다이렉트를 건드리지 마십시오. 반드시 디렉토리뒤에 따르는 슬래쉬를 포함시켜야 합니다.

만약에 filename 이 "ftp://"로 시작이 되면 (sensitive 하지 않은 경우에), 지정된 서버가 ftp연결에 의해 열려집니다. 그리로 요청된 파일에 대한 포인터가 반환됩니다. 만약에 서버의 ftp가 받을 수 있는 모드를 지원하지 않으면, 이것은 실행될 수 없습니다. ftp를 통해서 파일을 읽거나 쓸수도 있습니다.ftp (동시에 할 수는 없습니다).

만약에filename 이 "php://stdin", "php://stdout", "php://stderr",중의 하나라면 일치하는 표준입출력 스트림이 열리게 됩니다 (PHP 3.0.13에 소개가 되어 있습니다; 이전 버전에서 표준입출력 스트림에 접근하려면 filename이 "/dev/stdin" 이나 "/dev/fd/0" 이어야 합니다.)

filename 이 다른 것으로 시작되면 그 파일은 파일 시스템에서 열려집니다. 그리고, 파일에 대한 파일 포인터가 열려서 반환됩니다.

열수가 없다면 FALSE를 반환합니다.

mode 다음의 어느것이라도 될 수가 있습니다:

  • 'r' - 읽기전용으로 열립니다; 파일포인터를 파일의 맨 앞에 놓습니다.
  • 'r+' - 읽기 쓰기가 가능합니다.; 파일 포인터를 파일의 맨 앞에 놓습니다.
  • 'w' - 쓰기 전용으로 열립니다; 파일 포인터를 파일의 맨 앞에 놓습니다 그리고 파일의 크기를 0으로 만듭니다. 파일이 없으면 만듭니다.
  • 'w+' - 읽기 쓰기가 가능합니다; 파일포인터를 파일의 맨 앞에 놓습니다. 그리고 파일의 크기를0으로 만듭니다. 파일이 없으면 만듭니다.
  • 'a' - 쓰기 전용으로 열립니다; 파일 포인터를 파일의 끝에 놓습니다. 파일이 없으면 만듭니다.
  • 'a+' - 읽기 쓰기가 가능합니다; 파일 포인터를 파일의 끝에 놓습니다. 파일이 없으면 만듭니다.
mode 가 문자'b'를 포함할 수도 있습니다. 이것은 시스템상에서 바이너리와 텍스트 파일을 구별짓는데 쓸모가 있습니다 (다시 말하면 유닉스에서는 쓸모가 없습니다).필요가 없으면 사용하지 마세요.

세번째 매개변수를 사용할 수 있는데 include_path가운데서 파일을 찾고 싶으면 "1"로 설정하세요.

Example#1 fopen() example

$fp = fopen ("/home/rasmus/file.txt", "r");
$fp = fopen ("/home/rasmus/file.gif", "wb");
$fp = fopen ("https://www.php.net/", "r");
$fp = fopen ("ftp://user:[email protected]/", "w");

PHP의 서버 모듈 버전을 사용하는데 파일을 읽고 쓰는데 문제를 겪었다면 파일과 디렉토리를 서버 프로세스가 접근이 가능하게 했는지 확인해보세요

윈도우즈에서는, 파일의 경로에서 백슬래시를 사용했는지 슬래시를 사용했는지 주의하세요.

$fp = fopen ("c:\\data\\info.txt", "r");

참조 fclose(), fsockopen(), socket_set_timeout(), and popen().