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 — Retourne le type de ressource
Description
string get_resource_type
( resource $handle
)
Cette fonction retourne le type de la ressource donnée.
Liste de paramètres
- handle
-
Le gestionnaire de ressources à évaluer.
Valeurs de retour
Si le paramètre handle est une ressource, cette fonction retournera une chaîne de caractères représentant son type. Si le type n'est pas identifié par cette fonction, la valeur de retour sera une chaîne de caractères Unknown.
Cette fonction retournera FALSE et générera une erreur si handle n'est pas une ressource.
Exemples
Exemple #1 Exemple avec get_resource_type()
<?php
// affiche : mysql link (lien mysql)
$c = mysql_connect();
echo get_resource_type($c) . "\n";
// affiche : file (fichier)
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";
// affiche : 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."
