PHP 资源
定义和用法
在 PHP 中,资源是一种特殊的数据类型,它引用任何外部资源。资源变量充当对外部数据源(例如流、文件、数据库等)的引用。PHP 使用相关的函数来创建这些资源。例如,fopen() 函数打开磁盘文件,其引用存储在资源变量中。
PHP 的 Zend 引擎使用引用计数系统。因此,引用计数为零的资源会由垃圾收集器自动销毁。因此,无需手动释放资源数据类型使用的内存。
借助相应的函数,可以在 PHP 脚本中处理各种类型的资源。下表显示了一个精选列表:
资源类型名称 | 创建方式 | 销毁方式 | 定义 |
bzip2 | bzopen() | bzclose() | Bzip2 文件 |
curl | curl_init() | curl_close() | Curl 会话 |
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() | 到 Oracle 数据库的连接 |
ODBC 连接 | odbc_connect() | odbc_close() | 到 ODBC 数据库的连接 |
pdf 文档 | pdf_new() | pdf_close() | PDF 文档 |
流 | opendir() | closedir() | 目录句柄 |
流 | fopen(), tmpfile() | fclose() | 文件句柄 |
socket | | fclose() | Socket 句柄 |
xml | xml_parser_create(), | xml_parser_free() | XML 解析器 |
zlib | gzopen() | gzclose() | gz 压缩文件 |
zlib.deflate | deflate_init() | None() | 增量 deflate 上下文 |
zlib.inflate | inflate_init() | None() | 增量 inflate 上下文 |
在这种情况下,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) . "
"; ?>
输出
这将产生以下结果:
stream
广告