get_resource_type

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

get_resource_typeリソース型を返す

説明

get_resource_type(resource $resource): string

この関数は、指定したリソースの型を取得します。

パラメータ

resource

評価されるリソースハンドル。

戻り値

指定された resource がリソースであった場合、 この関数はその型を表す文字列を返します。この関数で型が判別できなかった 場合は、戻り値は文字列 Unknown となります。

もし resourceresource でない場合、 この関数は 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

参考

add a note

User Contributed Notes 1 note

up
15
CertaiN
11 years ago
Try this to know behavior:<?phpfunction 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_resoruce($resource) => ',        is_resource($resource) ? 'TRUE' : 'FALSE',        PHP_EOL,        PHP_EOL    ;} $resource = tmpfile();resource_test($resource, 'Check Valid Resource'); fclose($resource);resource_test($resource, 'Check Released Resource'); $resource = null;resource_test($resource, 'Check NULL');?>It will be shown as...[Check Valid Resource](bool)$resource => TRUEget_resource_type($resource) => streamis_resoruce($resource) => TRUE[Check Released Resource](bool)$resource => TRUEget_resource_type($resource) => Unknownis_resoruce($resource) => FALSE[Check NULL](bool)$resource => FALSEget_resource_type($resource) => FALSEWarning:  get_resource_type() expects parameter 1 to be resource, null given in ... on line 10is_resoruce($resource) => FALSE
To Top