This function will generate an error and return NULL instead FALSE in the next example:
<?php
$var = 3;
var_dump(get_resource_type($var));
?>
get_resource_type
(PHP 4 >= 4.0.2, PHP 5)
get_resource_type — Возвращает тип ресурса
Описание
string get_resource_type
( resource
$handle
)Функция возвращает тип данного ресурса.
Список параметров
-
handle -
Определяемый дескриптор ресурса.
Возвращаемые значения
Если данный параметр handle является ресурсом, функция
возвращает строку, указывающую его тип. Если тип не определяется этой функцией,
возвращаемым значением будет строка
Unknown.
Функция возвращает FALSE и вызывает ошибку, если
handle не является ресурсом (resource).
Примеры
Пример #1 Пример использования get_resource_type()
<?php
// выводит: mysql link
$c = mysql_connect();
echo get_resource_type($c) . "\n";
// выводит: file
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";
// выводит: domxml document
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc) . "\n";
?>
avp200681 at gmail dot com ¶
2 years ago
hessodreamy at gmail dot com ¶
6 years ago
Furthermore, this function returns 'stream' on php 4.3 on windows & linux.
You if you want to differentiate between a file resource and other stream resources, as stated before stream_get_meta_data() gives you an array which, on my system, contains the following elements which might suggest a file handle:
[wrapper_type] => plainfile
[stream_type] => STDIO
However I've only compared this to a stream from a url, so I include this only as a suggestion.
jdhawk _at_ gmail ¶
7 years ago
In PHP5 (on Linux), the above example identifies the "file" handler as a 'stream', not 'file'.
This can be particularly worrisome if you're trying to determine the type of stream using this function.
The alternative is to use <?php stream_get_meta_data() ?>, which returns an array containing "stream_type (string) - a label describing the underlying implementation of the stream."
