PHP Conference Japan 2024

get_resource_type

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

get_resource_type 傳回資源類型

說明

get_resource_type(資源 $resource): 字串

此函式會取得給定資源的類型。

參數

resource (資源)

被評估的資源控制代碼。

傳回值

如果給定的 resource 是一個資源,此函式將會傳回一個代表其類型的字串。如果此函式無法識別該類型,則傳回值將會是字串 Unknown(未知)。

如果 resource 不是 資源,這個函式會回傳 null 並產生錯誤。

範例

範例 #1 get_resource_type() 範例

<?php
$fp
= fopen("foo", "w");
echo
get_resource_type($fp) . "\n";

// 從 PHP 8.0.0 開始,以下程式碼將不再有效。 curl_init 函式現在會返回一個 CurlHandle 物件。
$c = curl_init();
echo
get_resource_type($c) . "\n";
?>

上述範例在 PHP 7 中的輸出

stream
curl

參見

新增註解

使用者貢獻的註解 1 則註解

CertaiN
10 年前
試試這個來了解其行為

<?php
函數 resource_test($resource, $name) {
echo
'[' . $name. ']',
PHP_EOL,
'(bool)$resource => ',
$resource ? 'TRUE' : 'FALSE',
PHP_EOL,
'get_resource_type($resource) => ',
get_resource_type($resource) ?: 'FALSE',
PHP_EOL,
'is_resource($resource) => ',
is_resource($resource) ? 'TRUE' : 'FALSE',
PHP_EOL,
PHP_EOL
;
}

$resource = tmpfile();
resource_test($resource, '檢查有效的資源');

fclose($resource);
resource_test($resource, '檢查已釋放的資源');

$resource = null;
resource_test($resource, '檢查 NULL');
?>

顯示結果如下...

[檢查有效的資源]
(bool)$resource => TRUE
get_resource_type($resource) => stream
is_resource($resource) => TRUE

[檢查已釋放的資源]
(bool)$resource => TRUE
(bool)$resource => FALSE
get_resource_type($resource) => Unknown

is_resource($resource) => FALSE
[檢查 NULL]
(bool)$resource => FALSE
get_resource_type($resource) => FALSE
get_resource_type($resource) => Unknown
To Top