(PHP 4 >= 4.3.0, PHP 5)
stream_get_meta_data — 從封裝協議文件指針中取得報頭/元數據
說明
array stream_get_meta_data ( int$fp
)
返回現有 stream
的信息。可以是任何通過
fopen(),fsockopen()
和 pfsockopen() 建立的流。返回的數組包含以下項目:
timed_out
(bool) - 如果在上次調用
fread() 或者 fgets()
中等待數據時流超時了則為 TRUE
。
blocked
(bool) - 如果流處于阻塞
IO 模式時為 TRUE
。參見 stream_set_blocking()。
eof
(bool) - 如果流到達文件末尾時為
TRUE
。注意對于 socket 流甚至當 unread_bytes
為非零值時也可以為 TRUE
。要測定是否有更多數據可讀,用
feof() 替代讀取本項目的值。
unread_bytes
(int) - 當前在 PHP 自己的內部緩沖區中的字節數。
Note: 不要在腳本中使用此值。
以下項目是 PHP 4.3 新加的:
stream_type
(string) - 一個描述流底層實現的標注。
wrapper_type
(string) -
一個描述流的分層協議封裝實現的標注。更多關于封裝協議的信息見
支持的協議和封裝協議。
wrapper_data
(mixed) -
當前流附加的封裝協議數據。更多封裝協議及其數據的信息見
支持的協議和封裝協議。
filters
(array) -
包含有被疊加在當前流的任何過濾器名的數組。過濾器的文檔見附錄中的可用過濾器列表。
Note:
本函數是 PHP 4.3 引進的,在此版本之前,可以用 socket_get_status() 來取得前四個項目并且僅能用于基于 socket 的流。
在 PHP 4.3 及以后版本中,socket_get_status() 是本函數的別名。
Note: 本函數不能作用于通過 Socket 擴展庫創建的流。
以下項目為 PHP 5.0 新加:
mode
(string) - 對當前流所要求的訪問類型(見
fopen() 中的表格 1)。
seekable
(bool) - 是否可以在當前流中定位。
uri
(string) - 與當前流關聯的 URI 或文件名。