정의 및 사용법
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