>  기사  >  백엔드 개발  >  PHP fopen 기능을 사용하는 방법

PHP fopen 기능을 사용하는 방법

藏色散人
藏色散人원래의
2019-05-28 14:23:343054검색

php fopen 함수는 파일이나 URL을 여는 데 사용됩니다. 구문은 fopen(filename, mode, include_path, context)입니다. 파일을 참조하는 매개변수 filename 또는 열릴 URL이 필요합니다. 파일/스트림에 액세스하기 위한 요구 사항입니다.

PHP fopen 기능을 사용하는 방법

PHP fopen 기능을 사용하는 방법은 무엇입니까?

정의 및 사용법

fopen() 함수는 파일이나 URL을 엽니다.

열기에 실패하면 이 함수는 FALSE를 반환합니다.

Syntax

fopen(filename,mode,include_path,context)

매개변수

파일 이름이 필요합니다. 열려는 파일 또는 URL을 지정합니다.

모드가 필요합니다. 이 파일/스트림에 필요한 액세스 유형을 지정합니다. 가능한 값은 아래 표에 나와 있습니다.

include_path는 선택사항입니다. include_path에서 파일도 검색해야 하는 경우 이 매개변수를 1 또는 TRUE로 설정할 수 있습니다.

컨텍스트 선택사항입니다. 파일 핸들의 환경을 지정합니다. 컨텍스트는 스트림의 동작을 수정할 수 있는 옵션 집합입니다.

모드 매개변수에 가능한 값

모드 설명

"r" 파일 포인터가 파일 헤더를 가리키는 읽기 전용 모드로 열립니다.

"r+" 읽기 및 쓰기 모드로 열고 파일 포인터로 파일 헤더를 가리킵니다.

"w"는 쓰기 모드로 열리고 파일 포인터가 파일 헤더를 가리키며 파일 크기를 0으로 자릅니다. 파일이 존재하지 않으면 파일을 만들어 보십시오.

"w+" 읽기 및 쓰기 모드로 열고 파일 포인터를 파일 헤더로 가리키고 파일 크기를 0으로 자릅니다. 파일이 존재하지 않으면 파일을 만들어 보십시오.

"a"는 쓰기 모드로 열리고 파일 포인터가 파일 끝을 가리킵니다. 파일이 존재하지 않으면 생성해 보십시오.

"a+" 읽기-쓰기 모드로 열고 파일 포인터가 파일 끝을 가리킵니다. 파일이 존재하지 않으면 파일을 만들어 보십시오.

"x"는 파일 헤더를 가리키는 파일 포인터를 가리키며 쓰기를 위해 생성 및 열립니다. 파일이 이미 존재하는 경우 fopen() 호출은 실패하고 FALSE를 반환하며 E_WARNING 수준 오류 메시지를 생성합니다. 파일이 존재하지 않으면 파일을 만들어 보십시오.

이는 기본 open(2) 시스템 호출에 O_EXCL|O_CREAT 플래그를 지정하는 것과 같습니다.

이 옵션은 PHP 4.3.2 이상 버전에서 지원되며 로컬 파일에만 사용할 수 있습니다.

"x+"는 파일 헤더를 가리키는 파일 포인터를 가리키며 읽기-쓰기 모드로 파일을 만들고 엽니다. 파일이 이미 존재하는 경우 fopen() 호출은 실패하고 FALSE를 반환하며 E_WARNING 수준 오류 메시지를 생성합니다. 파일이 존재하지 않으면 파일을 만들어 보십시오.

이는 기본 open(2) 시스템 호출에 O_EXCL|O_CREAT 플래그를 지정하는 것과 같습니다.

이 옵션은 PHP 4.3.2 이상 버전에서 지원되며 로컬 파일에만 사용할 수 있습니다.

Explanation

fopen()은 filename으로 지정된 이름 리소스를 스트림에 바인딩합니다. 파일 이름이 "scheme://..." 형식인 경우 URL로 처리되며 PHP는 해당 구성표를 처리하기 위한 프로토콜 처리기(래퍼 프로토콜이라고도 함)를 검색합니다. 래퍼 프로토콜이 프로토콜에 등록되지 않은 경우 PHP는 스크립트의 잠재적인 문제를 확인하는 데 도움이 되는 메시지를 내보내고 마치 일반 파일 이름인 것처럼 파일 이름을 계속 실행합니다.

PHP가 filename이 로컬 파일을 지정한다고 생각하면 해당 파일에서 스트림을 열려고 시도합니다. 파일은 PHP에서 접근 가능해야 하므로 파일 접근 권한이 이 접근을 허용하는지 확인해야 합니다. 안전 모드 또는 open_basedir이 활성화된 경우 추가 제한 사항이 적용됩니다.

PHP가 파일 이름이 등록된 프로토콜을 지정한다고 생각하고 해당 프로토콜이 네트워크 URL로 등록되면 PHP는 허용_url_fopen이 활성화되었는지 확인합니다. 닫히면 PHP는 경고를 표시하고 fopen 호출이 실패합니다.

PHP 5.0.0에 컨텍스트 지원이 추가되었습니다.

팁 및 메모

참고: 운영 체제 제품군마다 줄 끝 습관이 다릅니다. 텍스트 파일에 쓰고 새 줄을 삽입하려면 운영 체제 호환 줄 끝을 사용해야 합니다. Unix 기반 시스템은 n을 줄 끝 문자로 사용하고 Windows 기반 시스템은 rn을 줄 끝 문자로 사용하며 Macintosh 기반 시스템은 r을 줄 끝 문자로 사용합니다. 잘못된 줄 끝으로 파일을 작성한 경우 파일을 열 때 다른 응용 프로그램이 이상하게 동작할 수 있습니다.

Windows에서는 n을 rn으로 투명하게 변환할 수 있는 텍스트 변환 태그("t")를 제공합니다. 또는 "b"를 사용하여 데이터가 변환되지 않도록 바이너리 모드를 강제 실행할 수 있습니다. 이러한 플래그를 사용하려면 모드 인수의 마지막 문자로 "b" 또는 "t"를 사용하십시오.

기본 변환 모드는 사용되는 SAPI 및 PHP 버전에 따라 다르므로 이식성을 위해 항상 적절한 태그를 지정하는 것이 좋습니다. 일반 텍스트 파일로 작업하고 스크립트에서 줄 종결자로 n을 사용하지만 메모장과 같은 다른 응용 프로그램에서도 파일을 읽을 수 있도록 하려면 모드에서 "t"를 사용하세요. 다른 모든 경우에는 "b"를 사용하세요.

在操作二进制文件时如果没有指定 "b" 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。

注释:为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 "b" 标记。

注释:再一次,为移植性考虑,强烈建议你重写那些依赖于 "t" 模式的代码使其使用正确的行结束符并改成 "b" 模式。

例子

<?php
$file = fopen("test.txt","r");
$file = fopen("/home/test/test.txt","r");
$file = fopen("/home/test/test.gif","wb");
$file = fopen("http://www.example.com/","r");
$file = fopen("ftp://user:password@example.com/test.txt","w");
?>

위 내용은 PHP fopen 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.