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 — 자원형을 반환
설명
string get_resource_type
( resource $handle
)
주어진 자원의 자료형을 얻습니다.
인수
- handle
-
평가할 자원 핸들.
반환값
주어진 handle 이 자원이면, 이 함수는 그 자료형의 문자열 표현을 반환합니다. 자료형을 식별할 수 없으면, 반환값은 문자열 Unknown입니다.
handle 이 resource가 아닐 경우, FALSE를 반환하고 오류를 발생합니다.
예제
Example #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";
?>
get_resource_type
hessodreamy at gmail dot com
29-May-2007 08:07
29-May-2007 08:07
jdhawk _at_ gmail
06-Oct-2005 05:18
06-Oct-2005 05: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."
