From 6fec56a107d19968a9a28ebb0c11d8cbc539e8e7 Mon Sep 17 00:00:00 2001 From: Sara Golemon Date: Fri, 3 Jan 2003 02:37:56 +0000 Subject: [PATCH] Moved current streams documentation to its own reference section. Added reference manual page for streams. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@110041 c90b9560-bf6c-de11-be94-00142212c4b1 --- .../functions/stream-get-meta-data.xml | 120 ------- .../functions/stream-register-wrapper.xml | 320 ------------------ .../functions/stream-set-blocking.xml | 60 ---- .../functions/stream-set-timeout.xml | 81 ----- .../functions/stream-set-write-buffer.xml | 76 ----- 5 files changed, 657 deletions(-) delete mode 100644 reference/filesystem/functions/stream-get-meta-data.xml delete mode 100644 reference/filesystem/functions/stream-register-wrapper.xml delete mode 100644 reference/filesystem/functions/stream-set-blocking.xml delete mode 100644 reference/filesystem/functions/stream-set-timeout.xml delete mode 100644 reference/filesystem/functions/stream-set-write-buffer.xml diff --git a/reference/filesystem/functions/stream-get-meta-data.xml b/reference/filesystem/functions/stream-get-meta-data.xml deleted file mode 100644 index 9ac64494c4..0000000000 --- a/reference/filesystem/functions/stream-get-meta-data.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - stream_get_meta_data - Retrieves header/meta data from streams/file pointers - - - Description - - arrayfile_get_meta_data - resourcestream - - - Returns information about an existing stream. - The stream can be any stream created by fopen, - fsockopen and pfsockopen. - The result array contains the following items: - - - - - timed_out (bool) - &true; if the stream - timed out while waiting for data on the last call to - fread or fgets. - - - - - blocked (bool) - &true; if the stream is - in blocking IO mode. See socket_set_blocking. - - - - - eof (bool) - &true; if the stream has reached - end-of-file. Note that for socket streams this member can be &true; - even when unread_bytes is non-zero. To - determine if there is more data to be read, use - feof instead of reading this item. - - - - - unread_bytes (int) - the number of bytes - currently contained in the read buffer. - - - - - The following items were added in PHP 4.3: - - - - - stream_type (string) - a label describing - the underlying implementation of the stream. - - - - - wrapper_type (string) - a label describing - the protocol wrapper implementation layered over the stream. - See for more information about wrappers. - - - - - wrapper_data (mixed) - wrapper specific - data attached to this stream. See for - more information about wrappers and their wrapper data. - - - - - filters (array) - and array containing - the names of any filters that have been stacked onto this stream. - Filters are currently undocumented. - - - - - - This function was introduced in PHP 4.3, but prior to this version, - socket_get_status could be used to retrieve - the first four items, for socket based streams only. - - - In PHP 4.3 and later, - socket_get_status is an alias for this function. - - - - This function does NOT work on sockets created by the Socket extension. - - - - - - diff --git a/reference/filesystem/functions/stream-register-wrapper.xml b/reference/filesystem/functions/stream-register-wrapper.xml deleted file mode 100644 index 4cd5450b2c..0000000000 --- a/reference/filesystem/functions/stream-register-wrapper.xml +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - stream_register_wrapper - Register a URL wrapper implemented as a PHP class - - - Description - - booleanstream_register_wrapper - stringprotocol - stringclassname - - - stream_register_wrapper allows you to implement - your own protocol handlers and streams for use with all the other - filesystem functions (such as fopen, - fread etc.). - - - To implement a wrapper, you need to define a class with a number of - member functions, as defined below. When someone fopens your stream, - PHP will create an instance of classname and - then call methods on that instance. You must implement the methods - exactly as described below - doing otherwise will lead to undefined - behaviour. - - - stream_register_wrapper will return &false; if the - protocol already has a handler. - - - - booleanstream_open - stringpath - stringmode - intoptions - stringopened_path - - - This method is called immediately after your stream object is - created. path specifies the URL that was - passed to fopen and that this object is - expected to retrieve. You can use parse_url - to break it apart. - - - mode is the mode used to open the file, - as detailed for fopen. You are responsible - for checking that mode is valid for the - path requested. - - - options holds additional flags set - by the streams API. It can hold one or more of the following - values OR'd together. - - - - - Flag - Description - - - - - STREAM_USE_PATH - If path is relative, search - for the resource using the include_path. - - - - STREAM_REPORT_ERRORS - If this flag is set, you are responsible for raising - errors using trigger_error during - opening of the stream. If this flag is not set, you - should not raise any errors. - - - - - - - - If the path is opened successfully, - and STREAM_USE_PATH is set in options, - you should set opened_path to the full - path of the file/resource that was actually opened. - - - If the requested resource was opened successfully, you should - return &true;, otherwise you should return &false; - - - - voidstream_close - void - - - This method is called when the stream is closed, using - fclose. You must release any resources - that were locked or allocated by the stream. - - - - stringstream_read - intcount - - - This method is called in response to fread - and fgets calls on the stream. You - must return up-to count bytes of data - from the current read/write position as a string. - If there are less than count - bytes available, return as many as are available. If no - more data is available, return either &false; or an - empty string. - You must also update the read/write position of the stream - by the number of bytes that were successfully read. - - - - intstream_write - stringdata - - - This method is called in response to fwrite - calls on the stream. You should store data - into the underlying storage used by your stream. If there is not - enough room, try to store as many bytes as possible. - You should return the number of bytes that were successfully - stored in the stream, or 0 if none could be stored. - You must also update the read/write position of the stream - by the number of bytes that were successfully written. - - - - booleanstream_eof - void - - - This method is called in response to feof - calls on the stream. You should return &true; if the read/write - position is at the end of the stream and if no more data is available - to be read, or &false; otherwise. - - - - intstream_tell - void - - - This method is called in response to ftell - calls on the stream. You should return the current read/write - position of the stream. - - - - booleanstream_seek - intoffset - intwhence - - - This method is called in response to fseek - calls on the stream. You should update the read/write position - of the stream according to offset and - whence. See fseek - for more information about these parameters. - Return &true; if the position was updated, &false; otherwise. - - - - booleanstream_flush - void - - - This method is called in response to fflush - calls on the stream. If you have cached data in your stream - but not yet stored it into the underlying storage, you should - do so now. - Return &true; if the cached data was successfully stored (or - if there was no data to store), or &false; if the data could - not be stored. - - - - The example below implements a var:// protocol handler that - allows read/write access to a named global variable using - standard filesystem stream functions such as fread. - The var:// protocol implemented below, given the url - "var://foo" will read/write data to/from $GLOBALS["foo"]. - - - A Stream for reading/writing global variables - -varname = $url["host"]; - $this->position = 0; - - return true; - } - - function stream_read($count) - { - $ret = substr($GLOBALS[$this->varname], $this->position, $count); - $this->position += strlen($ret); - return $ret; - } - - function stream_write($data) - { - $left = substr($GLOBALS[$this->varname], 0, $this->position); - $right = substr($GLOBALS[$this->varname], $this->position + strlen($data)); - $GLOBALS[$this->varname] = $left . $data . $right; - $this->position += strlen($data); - return strlen($data); - } - - function stream_tell() - { - return $this->position; - } - - function stream_eof() - { - return $this->position >= strlen($GLOBALS[$this->varname]); - } - - function stream_seek($offset, $whence) - { - switch($whence) { - case SEEK_SET: - if ($offset < strlen($GLOBALS[$this->varname]) && $offset >= 0) { - $this->position = $offset; - return true; - } else { - return false; - } - break; - - case SEEK_CUR: - if ($offset >= 0) { - $this->position += $offset; - return true; - } else { - return false; - } - break; - - case SEEK_END: - if (strlen($GLOBALS[$this->varname]) + $offset >= 0) { - $this->position = strlen($GLOBALS[$this->varname]) + $offset; - return true; - } else { - return false; - } - break; - - default: - return false; - } - } -} - -stream_register_wrapper("var", "VariableStream") - or die("Failed to register protocol"); - -$myvar = ""; - -$fp = fopen("var://myvar", "r+"); - -fwrite($fp, "line1\n"); -fwrite($fp, "line2\n"); -fwrite($fp, "line3\n"); - -rewind($fp); -while(!feof($fp)) { - echo fgets($fp); -} -fclose($fp); -var_dump($myvar); - -]]> - - - - - - - - - diff --git a/reference/filesystem/functions/stream-set-blocking.xml b/reference/filesystem/functions/stream-set-blocking.xml deleted file mode 100644 index 0d004976e4..0000000000 --- a/reference/filesystem/functions/stream-set-blocking.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - stream_set_blocking - Set blocking/non-blocking mode on a stream - - - Description - - boolstream_set_blocking - resourcestream - intmode - - - If mode is &false;, the given stream - will be switched to non-blocking mode, and if &true;, it - will be switched to blocking mode. This affects calls like - fgets and fread - that read from the stream. In non-blocking mode an - fgets call will always return right away - while in blocking mode it will wait for data to become available - on the stream. - - - This function was previously called as - set_socket_blocking and later - socket_set_blocking but this usage is deprecated. - - - - Prior to PHP 4.3, this function only worked on socket based streams. - Since PHP 4.3, this function works for any stream that supports - non-blocking mode (currently, regular files and socket streams). - - - - - - diff --git a/reference/filesystem/functions/stream-set-timeout.xml b/reference/filesystem/functions/stream-set-timeout.xml deleted file mode 100644 index a8800a2920..0000000000 --- a/reference/filesystem/functions/stream-set-timeout.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - stream_set_timeout - Set timeout period on a stream - - - Description - - boolstream_set_timeout - resourcestream - intseconds - intmicroseconds - - - Sets the timeout value on stream, - expressed in the sum of seconds and - microseconds. - - <function>stream_set_timeout</function> Example - - -]]> - - - - - - As of PHP 4.3, this function can (potentially) work on any kind of - stream. In PHP 4.3, socket based streams are still the only kind - supported in the PHP core, although streams from other extensions - may support this function. - - - - This function was previously called as - set_socket_timeout and later - socket_set_timeout but this usage is deprecated. - - - See also: fsockopen and fopen. - - - - - diff --git a/reference/filesystem/functions/stream-set-write-buffer.xml b/reference/filesystem/functions/stream-set-write-buffer.xml deleted file mode 100644 index b883a1b40b..0000000000 --- a/reference/filesystem/functions/stream-set-write-buffer.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - stream_set_write_buffer - Sets file buffering on the given stream - - - Description - - intstream_set_write_buffer - resourcestream - intbuffer - - - Output using fwrite is normally buffered at - 8K. This means that if there are two processes wanting to write - to the same output stream (a file), each is paused after 8K of - data to allow the other to write. - stream_set_write_buffer - sets the buffering for write operations on the given filepointer - stream to buffer bytes. - If buffer is 0 then write operations are - unbuffered. This ensures that all writes with - fwrite are completed before other processes - are allowed to write to that output stream. - - - The function returns 0 on success, or EOF if the request cannot - be honored. - - - The following example demonstrates how to use - stream_set_write_buffer to create an unbuffered stream. - - <function>stream_set_write_buffer</function> example - - - - - - - - See also fopen and fwrite. - - - - -