홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
운.영.자.1대1.상담
온라이브 음악방송
음악방송 앱 다운로드
보안∵서버∵쿠키
윈도우∵프레임
이미지∵배경
시간∵달력∵계산
상태바∵타이틀바
음악∵영상
폼∵전송∵테이블
키보드∵마우스
효과∵링크∵메뉴
Script∵php
기타
PHP 강좌
윈도우관련팁
웹관련팁
홈페이지제작팁
기본강좌
레지스트리
윈도우서버
리눅스서버
Android
fopen
5년 전
(PHP 4, PHP 5, PHP 7)

fopen — 파일 또는 URL을 열

설명
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
fopen() 는filename 에서 지정된 자원을 스트림에 매답니다.

파라미터
filename
filename 이"스킴://...."의 형식인 경우 그것은 URL로 간주되어 PHP는 그 프로토콜 핸들러 (래퍼라고도 합니다)를 찾습니다. 만약 그 프로토콜에 대한 래퍼가 등록되지 않은 경우 PHP는 스크립트에 잠재적인 문제가 있음을 드러내NOTICE을 발행한 뒤 filename 를 통상적인 파일로 보고 열것을 시도합니다.

PHP는filename 이 로컬 파일을 나타내고 있다고 보면 그 파일의 스트림을 오픈합니다. 그 파일은 PHP에서 접근하지 않으면 안 됩니다. 파일의 퍼미션이(파라미터로 지정된) 접근이 허가되는지 확인할 필요가 있습니다. 세이프 모드 또는open_basedir 을 유효하게 하고 있는 경우는 추가 액세스 제한이 가해질 일이 있습니다.

filename 이 등록된 프로토콜을 나타내고 있다고 PHP가 판단하고 그 프로토콜이 네트워크 URL로 등록되어 있으면, PHP가allow_url_fopen 효과적인지 아닌지 체크합니다. 만일 이것이 꺼졌다고 PHP는 warning을 발행하는 fopen은 실패합니다.

주의:

지원되고 있는 프로토콜의 목록은 지원하는 프로토콜/래퍼 에 있습니다. 몇가지 프로토콜(wrappers에도 관련된)은 context 이고/또는php.ini 옵션을 지원합니다. 사용하는 프로토콜에 대해서 세트 하는 옵션의 목록은 각각의 페이지를 보세요(예를 들면 위php.ini 의 user_agent 값은 http 래퍼가 사용합니다).
Windows환경에서는 파일 경로로 이용하는 모든 역 슬래시를 확장하거나 포워드 슬래시를 사용하는 것에 주의하세요.

<?php
$handle = fopen("c:\\folder\\resource.txt", "r");
?>
mode
파라미터는mode , 그 스트림에 필요한 액세스 형식을 지정합니다. 이 지정은 아래 표 중 어떤 것인가입니다.

fopen() 에서 사용 가능한 mode 명단
mode        설명
'r'        읽기에만 오픈합니다. 파일 포인터를 파일의 선두에 둡니다.
'r+'        읽기/쓰기용으로 오픈합니다. 파일 포인터를 파일의 선두에 둡니다.
'w'        서두에만 오픈합니다. 파일 포인터를 파일의 선두에 두고 파일 사이즈를 제로로 합니다. 파일이 존재하지 않는 경우에는 작성을 시도합니다.
'w+'        읽기/쓰기용으로 오픈합니다. 파일 포인터를 파일의 선두에 두고 파일 사이즈를 제로로 합니다. 파일이 존재하지 않는 경우에는 작성을 시도합니다.
'a'        쓰기용으로만 오픈합니다. 파일 포인터를 파일의 끝에 둡니다. 파일이 존재하지 않는 경우에는 작성을 시도합니다. 이 모드는, 그fseek() 럼 아무 효과도 없어요. 글은 항상 추가합니다.
'a+'        읽기/쓰기용으로 오픈합니다. 파일 포인터를 파일의 끝에 둡니다. 파일이 존재하지 않는 경우에는 작성을 시도합니다. 이 모드는fseek() 에서는 읽기 위치에만 영향을 줍니다. 글은 항상 추가합니다.
'x'        글에만 오픈합니다. 파일 포인터를 파일의 선두에 둡니다. 파일이 이미 존재할 경우에는fopen() 실패하고 E_WARNING 수준 오류를 발행합니다. 파일이 존재하지 않을 경우에는 신규 작성을 시도합니다. 이는 시open(2) 스템 콜의 O_EXCL|O_CREAT 플래그의 지정과 등가입니다. 이 옵션은 PHP4.3.2이후에서 지원되고 또 로컬 파일에 대해서만 유효합니다.
'x+'        읽기/쓰기용으로 오픈합니다. 그 이외의 행동은'x' 과 같습니다.
'c'        글에만 오픈합니다. 파일이 존재하지 않을 경우에는 신규 작성을 시도합니다. 파일이 이미 존재하는 경우에도 그것을('w' 처럼) 줄이지 않고 또('x' 처럼)함수 호출이 실패할 것도 없습니다. 파일 포인터를 파일의 선두에 둡니다. 이는 어드바이저리 록 (flock() 을 참조하십시오)를 확보한 다음 파일을 변경하고자 하는 경우에 편리합니다. 'w' 를 사용하면 락을 따기 전에 파일을 줄이고 버립니다 (만약 파일을 줄이고 싶다면 록을 요구한 뒤 ftruncate() 를 사용할 수도 있습니다).
'c+'        읽기/쓰기용으로 오픈합니다. 그 이외의 행동은'c' 과 같습니다.
주의:

오퍼레이팅 시스템 패밀리가 다르면 장래도 다릅니다. 텍스트 파일에 쓰기 시작했고, 거기에 개항하고 싶을 때 운영 체계에 맞춘 바른 줄 코드를 사용할 필요가 있습니다. Unix기반의 시스템에서는 개행에\n 캐릭터를 사용합니다. Windows기반의 시스템에서는\r\n 을 사용합니다. 매킨토시 베이스의 시스템에서는\r 을 사용합니다.

잘못된 개행 코드에서 파일에 올리면 다른 응용 프로그램 상에서 그 파일을 열었을 때에 이상하게 보입니다.

Windows상으로는\n을\r\n 투과적으로 변환하는 text-mode변환 플래그('t')이 제공됩니다. 반면'b'을 써서 강제적으로 바이너리 모드로 할 수도 있습니다. 그 경우 데이터의 변환은 하지 않습니다. 이 플래그를 사용하려면 또'b' 는't'을 mode인수의 마지막에 추가하세요.

디폴트의 변환 모드는 SAPI와 사용하고 있는 PHP의 버젼에 의해서 다릅니다. 그러므로, 호환성의 의미에서 항상 적절한 플래그를 지정할 권장됩니다. plain-text파일을 사용하는 경우에는't' 모드를 지정해야 한다, 개행을\n 사용하면, 메모장 같은 애플리케이션에서 읽힐 것을 기대할 수 있습니다. 그 이외의 경우'b' 를 써야 합니다.

이진 파일을 다루고 있을 때에 'b' 플래그를 지정하지 않은 경우 화상 파일이 깨지거나\r\n 캐릭터가 이상한 등의 문제를 안고 말 겁니다.
주의:

호환성 유지를 위해서,fopen() 파일을 오픈할 때는 평소에 'b' 플래그를 지정하는 것이 강하게 권장됩니다.
주의:

호환성 유지를 위해서, 모't' 드를 사용 또는 의존하는 코드를 수정, 바른 줄 코드나'b' 모드를 대신 사용하는 것이 적극 권장됩니다.
use_include_path
옵션의 3번째 인수use_include_path로'1'또는 TRUE 를 설정하면include_path 파일의 검색도 할 수 있습니다.

context
주의: 콘텍스트의 지원은 PHP 5.0.0로 추가됬어요contexts . 설명에 관해서는 스트림 을 참조하세요.
반환 값
성공한 경우에 파일 포인터 리소스, 에러시에FALSE 를 갚겠습니다.

에러/예외
오픈이 실패하면 이 함수는FALSE 을 돌려주었다 E_WARNING 수준 오류를 발행합니다. @ 로 이 warning을 억제할 수도 있습니다.

변경 이력
버전        설명
5.2.6        'c' 및'c+' 이 추가되었습니다.
4.3.2        PHP 4.3.2이후는 바이너리 모드와 텍스트 모드를 구별하는 모든 플랫폼에서 기본 모드는 바이너리에 세팅됩니다. 업그레이드 후 스크립트에 문제가 일어났을 경우는 이상에서 말한 스크립트의 호환성을 확보하기까지 차선책으로 't' 플래그를 시험하고 보세요.

사례 1fopen() 의 예

<?php
$handle = fopen("/home/rasmus/file.txt", "r");
$handle = fopen("/home/rasmus/file.gif", "wb");
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>
주의
경고
IIS 같은 몇몇 표준에 대응하지 않는 Web서버는 PHP에 경고를 발생시키는 순서로 데이터를 송신합니다. 이러한 서버를 사용할 경우 error_reporting 를 경고를 발생하지 않는 수준까지 줄일 필요가 있습니다. PHP에서는https:// 래퍼에서 스트림을 열때 오류가 있다 IIS서버 소프트웨어를 검출할 수 있고 이 경고를 억제할 수 있습니다. 당신이ssl:// 소켓을 작성하기 위해서fsockopen() 를 사용하는 경우, 스스로 이 경고를 검출하고 억제할 필요가 있습니다.

주의: 세이프 모드가 유효한 경우 PHP는 조작하는 디렉토리가 실행하는 스크립트와 같은 UID(소유자)을 가지고 있는가 여부를 확인합니다.
주의:

파일의 읽어 내는, 쓸 때 문제가 발생하고 서버 모듈판 PHP를 사용하는 경우, 사용할 파일과 디렉토리가 서버 프로세스에서 액세스 가능 여부를 확인하세요.
주의:

이 함수는filename 이 디렉토리의 경우에도 성공하는 일이 있습니다. filename 이 파일인지 디렉토리인지 분명치 않은 경우는 먼저is_dir() 를 사용한 다음fopen() 을 부르도록 합시다.
추천추천 : 159 추천 목록
번호 제목
3,025
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,024
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,023
 CSS Layout 수평 & 수직 정렬
3,022
 여러 도메인들 간 쿠키 공유하기
3,021
 태그 사이에 있는 텍스트를 추출
3,020
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,019
 쿠키 생성,가져오기,삭제
3,018
 사용자 함수 모음
3,017
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,016
 [HTML5] <video> - DOM으로 제어하기
3,015
 HTML5 video 태그에서 영상 좌우반전
3,014
 PHP - 특정 태그 및 문자열 추출, 제거
3,013
 [PHP] define과 defined의 차이
3,012
 우클릭 완벽차단 스크립트
3,011
 iframe 높이 100% 맞추기
3,010
 curl 함수를 이용한 HTTP REFERER 변경
3,009
 윈도우10 시스템 파일 및 Dism 검사
3,008
 텍스트 줄바꿈, 글자자르기 CSS
3,007
 jQuery Mobile에서 유용한 코드 10가지.
3,006
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,005
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,004
 [jQuery] jQuery Quick API
3,003
 [ transition ] 링크 hover 색상 변화 속도 조절
3,002
 PHP 5.3.0 에서 사라진 함수들 대체
3,001
 어떤 파일들이 include 나 require 되었는지 확인하는 함수(get_included_files)
목록
환상의뽕짝카페
트로트티비
뽕짝아가씨
트롯맘
종합성인가요방
카바레 음악
트롯디스코팡팡
관광 메들리
트롯카페
가요감상실
추억의옛노래
스페셜가요광장
BillBoard Free
추천가요모음
경음악.전자올겐
스페셜음악여행
WOLRD POPs
K-POP\BillBoard
POP TOP BEST

최신인기가요특집
추천가요\인기
F뮤직 인기\발라드
F뮤직 애창\트로트
트로트성인가요
인기가요
프리미엄 POP
경음악\기타
프리미엄 최신가요
프리미엄 성인가요
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.