stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5)

stream_get_meta_data -- 從封裝協定檔案指標中取得報頭/元資料

說明

mixed stream_get_meta_data ( int fp )

返回現有 stream 的訊息。可以是任何通過 fopen()fsockopen()pfsockopen() 建立的流。返回的陣列包括以下項目:

  • timed_out (bool) - 若果在上次呼叫 fread() 或是 fgets() 中等待資料時流逾時了則為 TRUE

  • blocked (bool) - 若果流處於阻塞 IO 模式時為 TRUE。參見 socket_set_blocking()

  • eof (bool) - 若果流到達檔案末尾時為 TRUE。注意對於 socket 流甚至當 unread_bytes 為非零值時也可以為 TRUE。要測定是否有更多資料可讀,用 feof() 替代讀取本項目的值。

  • unread_bytes (int) - 現用的讀取緩沖區中的位元組數。

以下項目是 PHP 4.3 新加的:

  • stream_type (string) - 一個描述流底層實現的標注。

  • wrapper_type (string) - 一個描述流的分層協定封裝實現的標注。更多關於封裝協定的訊息見 附錄 M

  • wrapper_data (mixed) - 現用的流附加的封裝協定資料。更多封裝協定及其資料的訊息見 附錄 M

  • filters (array) - 包括有被疊加在現用的流的任何過濾器名的陣列。過濾器目前沒有文件。

注: 本函數是 PHP 4.3 引進的,在此版本之前,可以用 socket_get_status() 來取得前四個項目並且僅能用於基於 socket 的流

在 PHP 4.3 及以後版本中,socket_get_status() 是本函數的別名。

注: 本函數不能作用於通過 Socket 增加庫建立的流。