PHP资源

定义和用法

在PHP中,资源 是一种特殊的数据类型,它引用任何外部资源。资源变量充当对外部数据源(例如流,文件,数据库等)的引用。PHP使用relevent函数创建这些资源。例如,fopen()函数打开磁盘文件,其引用存储在资源变量中。

PHP的Zend引擎使用参考限制系统。结果,垃圾回收器会自动销毁引用计数为零的资源。因此,资源数据类型使用的内存不需要手动释放。

借助coresponding函数,可以在PHP脚本中处理各种类型的资源。下表显示了一个选择列表-

资源类型名称创建通过销毁
定义
bzip2
bzopen()
bzclose()
Bzip2文件
curl
curl_init()
curl_close()
卷曲会话
ftp
ftp_connect(),
ftp_close()
FTP流
mssql link
mssql_connect()
mssql_close()
链接到Microsoft SQL Server数据库
mysql link
mysql_connect()
mysql_close()
链接到MySQL数据库
mysql result
mysql_db_query(),
mysql_free_result()
MySQL结果
oci8 connection
oci_connect()
oci_close()
连接到Oracle数据库
ODBC link
odbc_connect()
odbc_close()
链接到ODBC数据库
pdf document
pdf_new()
pdf_close()
PDF文件
stream
opendir()
closedir()
手柄
stream
fopen(),tmpfile()
fclose()
文件句柄
socket
 
fclose()
套筒手柄
xml
xml_parser_create(),
xml_parser_free()
XML解析器
zlib
gzopen()
gzclose()
gz压缩文件
zlib.deflate
deflate_init()
None()
增量放气上下文
zlib.inflate
inflate_init()
None()
增量膨胀上下文

在这种情况下,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