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
廣告