Source for file Stream.php
Documentation is available at Stream.php
* Copyright (c) 2009 - 2011, RealDolmen
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of RealDolmen nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY RealDolmen ''AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL RealDolmen BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* @package Microsoft_WindowsAzure_Storage
* @copyright Copyright (c) 2009 - 2011, RealDolmen (http://www.realdolmen.com)
* @license http://todo name_todo
* @version $Id: Blob.php 24511 2009-07-28 09:17:56Z unknown $
* @see Microsoft_AutoLoader
require_once dirname(__FILE__ ) . '/../../../AutoLoader.php';
* @package Microsoft_WindowsAzure_Storage
* @copyright Copyright (c) 2009 - 2011, RealDolmen (http://www.realdolmen.com)
* @license http://phpazure.codeplex.com/license
* @var Microsoft_WindowsAzure_Storage_Blob
* Retrieve storage client for this stream type
* @return Microsoft_WindowsAzure_Storage_Blob
$fileName = isset ($url['path']) ? $url['path'] : $url['host'];
if (strpos($fileName, '/') === 0) {
$fileName = substr($fileName, 1);
* @param integer $options
* @param string $opened_path
public function stream_open($path, $mode, $options, &$opened_path)
// Check the file can be opened
// If read/append, fetch the file
// Open temporary file handle
// Make sure the container exists
* What is the current read/write position of the stream?
* Update the read/write position of the stream
* Flush current cached stream data to storage
// Make sure the container exists
* Returns data array of stream variables
* Attempt to delete the item
// Clear the stat cache for this path.
* Attempt to rename the item
* @param string $path_from
public function rename($path_from, $path_to)
// Clear the stat cache for the affected paths.
* Return array of URL variables
$stat['size'] = $info->Size;
// Set the modification time and last modified to the Last-Modified header.
$lastmodified = strtotime($info->LastModified);
$stat['mtime'] = $lastmodified;
$stat['ctime'] = $lastmodified;
// Entry is a regular file.
* @param integer $options
public function mkdir($path, $mode, $options)
* @param integer $options
public function rmdir($path, $options)
// Clear the stat cache so that affected paths are refreshed.
* Attempt to open a directory
* @param integer $options
* Return the next filename in the directory
* Reset the directory pointer
|