Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP 리소스

<시간/>

정의 및 사용법

PHP의 경우 리소스 모든 외부 리소스를 참조하는 특수 데이터 유형입니다. 리소스 변수는 스트림, 파일, 데이터베이스 등과 같은 데이터의 외부 소스에 대한 참조 역할을 합니다. PHP는 관련 함수를 사용하여 이러한 리소스를 생성합니다. 예를 들어 fopen() 함수는 디스크 파일을 열고 해당 참조는 리소스 변수에 저장됩니다.

PHP의 Zend 엔진은 참조 conting 시스템을 사용합니다. 결과적으로 참조 횟수가 0인 리소스는 가비지 수집기에 의해 자동으로 소멸됩니다. 따라서 리소스 데이터 유형에서 사용하는 메모리는 수동으로 해제할 필요가 없습니다.

다양한 유형의 리소스는 핵심 대응 기능의 도움으로 PHP 스크립트에서 처리할 수 있습니다. 다음 표는 선택 목록을 보여줍니다 -

리소스 유형 이름
작성자
파괴자
정의
bzip2
bzopen()
bzclose()
Bzip2 파일

curl_init()
curl_close()
컬 세션
ftp
ftp_connect(),
ftp_close()
FTP 스트림
mssql 링크
mssql_connect()
mssql_close()
Microsoft SQL Server 데이터베이스에 대한 링크
mysql 링크
mysql_connect()
mysql_close()
MySQL 데이터베이스에 대한 링크
mysql 결과
mysql_db_query(),
mysql_free_result()
MySQL 결과
oci8 연결
oci_connect()
oci_close()
오라클 데이터베이스에 연결
ODBC 링크
odbc_connect()
odbc_close()
ODBC 데이터베이스에 대한 링크
pdf 문서
pdf_new()
pdf_close()
PDF 문서
스트림
opendir()
closedir()
디렉터리 핸들
스트림
fopen(), tmpfile()
fclose()
파일 핸들
소켓

fclose()
소켓 핸들
xml
xml_parser_create(),
xml_parser_free()
XML 파서
zlib
gzopen()
gzclose()
gz 압축 파일
zlib.deflate
deflate_init()
없음()
증분 수축 컨텍스트
zlib.inflate
inflate_init()
없음()
증분 팽창 컨텍스트

이러한 맥락에서 PHP에는 변수의 리소스 유형을 반환하는 get_resource_type() 함수가 있습니다.

구문

클래스의 객체를 선언하려면 new 문을 사용해야 합니다.

get_resource_type ( resource $handle ) : string

여기서 $handle은 유형을 가져올 자원 변수입니다. 이 함수는 리소스 유형에 해당하는 문자열을 반환합니다.

다음 예는 디스크 파일의 리소스 유형을 보여줍니다.

예시

<?php
$fp=fopen("test.txt","w");
var_dump($fp);
?>

출력

이것은 다음 결과를 생성합니다 -

resource(5) of type (stream)

다음 예는 get_resource_type() 함수를 사용합니다.

예시

<?php
$fp = fopen("test.txt", "w");
echo get_resource_type($fp) . "\n";
?>

출력

이것은 다음 결과를 생성합니다 -

stream