get_resource_type

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

get_resource_type Returns the resource type

Description

get_resource_type(resource $resource): string

This function gets the type of the given resource.

Parameters

resource

The evaluated resource handle.

Return Values

If the given resource is a resource, this function will return a string representing its type. If the type is not identified by this function, the return value will be the string Unknown.

This function will return null and generate an error if resource is not a resource.

Examples

Example #1 get_resource_type() example

<?php
// prints: stream
$fp fopen("foo""w");
echo 
get_resource_type($fp) . "\n";

// prints: curl
$c curl_init ();
echo 
get_resource_type($c) . "\n"// works prior to PHP 8.0.0 as since 8.0 curl_init returns a CurlHandle object
?>

See Also

add a note add a note

User Contributed Notes 1 note

up
15
CertaiN
10 years ago
Try this to know behavior:

<?php
function 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 => TRUE
get_resource_type($resource) => stream
is_resoruce($resource) => TRUE

[Check Released Resource]
(bool)$resource => TRUE
get_resource_type($resource) => Unknown
is_resoruce($resource) => FALSE

[Check NULL]
(bool)$resource => FALSE
get_resource_type($resource) => FALSE
Warning:  get_resource_type() expects parameter 1 to be resource, null given in ... on line 10
is_resoruce($resource) => FALSE
To Top