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 となります。
もし handle がリソースでない場合、 この関数は FALSE を返し、エラーを発生させます。
例
例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
13-Jun-2011 03:11
hessodreamy at gmail dot com
29-May-2007 04:07
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
05-Oct-2005 01:18
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."
