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.
get_resource_type
(PHP 4 >= 4.0.2, PHP 5)
get_resource_type — Returns the resource type
Описание
string get_resource_type
( resource $handle
)
This function gets the type of the given resource.
Список параметров
- handle
-
The evaluated resource handle.
Возвращаемые значения
If the given handle 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 FALSE and generate an error if handle is not a resource.
Примеры
Пример #1 get_resource_type() example
<?php
// prints: mysql link
$c = mysql_connect();
echo get_resource_type($c) . "\n";
// prints: file
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";
// prints: domxml document
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc) . "\n";
?>
get_resource_type
hessodreamy at gmail dot com
29-May-2007 04:07
29-May-2007 04:07
jdhawk _at_ gmail
05-Oct-2005 01:18
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."
