php stream_get_meta_data傳回值_php基礎
測試程式碼如下:
程式碼如下:
<?php $fp=fopen("http://www.sina.com.cn", 'r'); $stream_meta = stream_get_meta_data($fp); print_r($stream_meta); ?>
在我本機輸出如下:
array ( [wrapper_data] => array ( [0] => http/1.0 200 ok [1] => date: tue, 06 dec 2011 10:08:11 gmt [2] => server: apache [3] => last-modified: tue, 06 dec 2011 10:07:12 gmt [4] => accept-ranges: bytes [5] => x-powered-by: mod_xlayout/rc2 [6] => cache-control: max-age=60 [7] => expires: tue, 06 dec 2011 10:09:11 gmt [8] => vary: accept-encoding [9] => x-ua-compatible: ie=emulateie7 [10] => content-type: text/html [11] => age: 26 [12] => content-length: 675274 [13] => x-cache: hit from xd33-98.hp08040037.sina.com.cn [14] => connection: close ) [wrapper_type] => http [stream_type] => tcp_socket/ssl [mode] => r [unread_bytes] => 3759 [seekable] => [uri] => http://www.sina.com.cn [timed_out] => [blocked] => 1 [eof] => )
說明
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 或文件名。
以上是php stream_get_meta_data回傳值_php基礎的內容,更多相關內容請關注php中文網(www.php.cn)!
【相關教學推薦】
1. php程式設計從入門到精通全套視訊教學
2. php在線手冊
3. bootstrap教程