PHP 资源
phpserver side programmingprogramming更新于 2025/8/19 8:52:17
定义和用法
在 PHP 中,资源 是一种特殊的数据类型,它引用任何外部资源。资源变量充当对外部数据源(例如流、文件、数据库等)的引用。PHP 使用相关函数来创建这些资源。例如,fopen() 函数打开一个磁盘文件,并将其引用存储在资源变量中。
PHP 的 Zend 引擎使用引用计数系统。因此,引用计数为零的资源会被垃圾回收器自动销毁。因此,资源数据类型占用的内存无需手动释放。
借助相应的函数,PHP 脚本可以处理各种类型的资源。下表显示了一个选择列表 −
| 资源类型名称 | 创建者 | 销毁者 | 定义 |
| bzip2 | bzopen() | bzclose() | Bzip2 file |
| curl | curl_init() | curl_close() | Curl session |
| ftp | ftp_connect(), | ftp_close() | FTP stream |
| mssql link | mssql_connect() | mssql_close() | Link to Microsoft SQL Server database |
| mysql link | mysql_connect() | mysql_close() | Link to MySQL database |
| mysql result | mysql_db_query(), | mysql_free_result() | MySQL result |
| oci8 connection | oci_connect() | oci_close() | Connection to Oracle Database |
| ODBC link | odbc_connect() | odbc_close() | Link to ODBC database |
| pdf document | pdf_new() | pdf_close() | PDF document |
| stream | opendir() | closedir() | Dir handle |
| stream | fopen(), tmpfile() | fclose() | File handle |
| socket | | fclose() | Socket handle |
| xml | xml_parser_create(), | xml_parser_free() | XML parser |
| zlib | gzopen() | gzclose() | gz-compressed file |
| zlib.deflate | deflate_init() | None() | incremental deflate context |
| zlib.inflate | inflate_init() | None() | incremental inflate context |
在此上下文中,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

