>백엔드 개발 >PHP 튜토리얼 >PHP 파일 열기 및 닫기 작업 요약 function_php 팁

PHP 파일 열기 및 닫기 작업 요약 function_php 팁

WBOY
WBOY원래의
2016-05-16 20:31:431253검색

파일 내용을 처리하기 전에 일반적으로 파일 리소스에 대한 연결을 설정해야 합니다. 즉, 파일을 열어야 합니다. 마찬가지로 리소스 작업을 완료한 후에는 연결 리소스를 닫아야 합니다. 소위 파일 열기는 실제로 파일에 대한 다양한 관련 정보를 생성하고 파일 포인터가 파일을 가리키도록 만들어 입력 또는 출력 엔터티를 함께 연결할 수 있으며 파일에 대한 추가 작업이 금지됩니다. PHP에서는 표준 함수 fopen()을 통해 파일 리소스와 연결을 설정할 수 있으며, fclose() 함수를 사용하여 fopen() 함수를 통해 열린 파일 리소스를 닫을 수 있습니다.

①fopen() 함수

이 기능은 파일을 열 때 사용하는 기능으로, 파일을 열 때 사용 방법도 지정해 주어야 합니다. 즉, 파일 리소스가 열리는 파일 모드입니다. 서버의 운영 체제 파일은 열린 파일로 수행할 작업을 알아야 합니다. 운영 체제는 파일을 연 후 해당 파일이 다른 프로그램 스크립트를 열 수 있도록 허용하는지, 스크립트 소유자가 이러한 방식으로 파일을 사용할 권한이 있는지 여부를 알아야 합니다. 이 함수의 프로토타입은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

리소스 fopen(string filename,string mode[,bool use_include_path[,resource zcontext]) //파일 열기

첫 번째 매개변수는 열려는 파일의 URL을 제공해야 합니다. 이 URL은 스크립트가 있는 서버의 절대 경로, 상대 경로 또는 네트워크 리소스의 파일일 수 있습니다. 두 번째 매개변수에는 운영 체제에 다른 사람이나 스크립트의 액세스 요청을 처리하는 방법과 이 특정 파일에 액세스할 수 있는 권한이 있는지 확인하는 방법을 알려주는 파일 모드가 필요합니다. 파일을 열 때 세 가지 옵션이 있습니다:

★읽기 전용, 쓰기 전용 또는 읽기와 쓰기 모두를 위해 파일을 엽니다.
★파일을 쓰려면 기존 파일 내용을 모두 덮어쓰거나 파일 끝에 새 데이터를 추가해야 합니다.
★바이너리 파일과 일반 텍스트 파일을 구별하는 시스템에서 파일을 작성하는 경우 사용할 방법도 지정해야 합니다.

fopen() 함수는 위의 세 가지 조합도 지원합니다. 파일에 대해 수행할 작업을 지정하려면 두 번째 매개변수에 문자열만 제공하면 됩니다. 사용할 수 있는 파일 모드와 그 의미는 아래 표에 나열되어 있습니다.

세 번째 매개변수는 선택사항입니다. 리소스가 로컬 파일 시스템에 있는 경우 PHP는 리소스에 로컬 경로 또는 상대 경로를 사용하여 액세스할 수 있다고 간주합니다. 이 매개변수를 1로 설정하면 PHP는 include_path 구성 지시문(PHP 구성 파일에 설정됨)에 지정된 경로를 고려하게 됩니다.

네 번째 매개변수도 선택 사항입니다. fopen() 함수를 사용하면 파일 이름이 "http://"와 같은 프로토콜 이름으로 시작하고 원격 위치에서 파일을 열 수 있습니다. 이 매개변수를 설정하면 일부 다른 프로토콜도 지원할 수 있습니다.

fopen() 함수가 파일을 성공적으로 열면 함수는 파일을 가리키는 파일 포인터를 반환합니다. 파일 작업에 사용되는 읽기, 쓰기 및 기타 파일 작업 기능은 이 리소스를 사용하여 파일에 액세스해야 합니다. 파일 열기에 실패하면 FALSE를 반환합니다. fopen() 함수의 예는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

//절대 경로를 사용하여 file.txt 파일을 열고 읽기 전용 모드를 선택한 다음 리소스를 반환합니다. $handle
$handle = fopen("/home/rasmus/file.txt", "r");
//문서 루트 디렉터리의 파일에 액세스하고 읽기 전용 모드에서도 엽니다.
$handle = fopen("$_SERVER['DOCUMENT_ROOT']/data/info.txt","r")
// Windows 플랫폼에서는 바이너리 및 쓰기 전용 모드 조합에서 파일 경로의 각 백슬래시를 이스케이프 처리하거나 슬래시를 사용합니다.
$handle = fopen("C:\data\file.gif", "wb");
//상대 경로를 사용하여 file.txt 파일을 열고 읽기 전용 모드를 선택한 다음 리소스를 반환합니다. $handle
$handle = fopen("../data/info.txt", "r");
//HTTP 프로토콜을 사용하여 읽기 전용 모드로만 열 수 있는 원격 파일 열기
$handle = fopen("http://www.example.com", "r");
//FTP 프로토콜을 사용하여 원격 파일을 엽니다. FTP 서버가 쓰기 가능한 경우 쓰기 모드로 열 수 있습니다.
$handle = fopen("ftp://user:password@example.com", "w");
?>

②fclose() 함수

리소스 유형은 PHP의 기본 유형 중 하나입니다. 리소스가 처리되면 종료해야 합니다. 그렇지 않으면 예상치 못한 오류가 발생할 수 있습니다. fclose() 함수는 fopen()에 의해 열린 자원 유형을 취소하고 성공하면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다. 인수는 fopen() 또는 fsockopen() 함수를 사용하여 연 기존 파일에 대한 포인터여야 합니다. 디렉토리 작업에서 opendir() 함수는 리소스를 열고 closedir()을 사용하여 리소스를 닫습니다.

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