設為首頁

收藏本站

導覽首頁 | 新登場    ◇聯盟溫泉 | 民宿 | 人力銀行 | 女性 |

類型:php_article

PHP Stream Writer 文檔流寫入函數
StreamWriter.php

Write content to a stream


<?php 
namespace coreiowriter;
 
use 
coreioreaderStreamReader;
 
use 
coreioAbstractStreamAccesser;
 
/**
 * Write content to a stream
 */
class StreamWriter extends AbstractStreamAccesser
{
/**
 * The number of bytes written
 * @var int
 */
private $bytesWritten;

/**
 * Creates a new StreamWriter
 *
 * @param string aStreamUrl eg. php://output, file path, etc
 * @param string $aOpenMode default = 'ab' (append, binary)
 */
public function __construct$aStreamUrl$aOpenMode 'ab' )
{
parent::__construct$aStreamUrl$aOpenMode );

$this->bytesWritten 0;
}

/**
 * Creates a new reader based on this write (eg. uses the same underlying stream)
 */
public function createReader(){
$reader = new StreamReader($this->getStreamUrl());
$reader->setFileHandle($this->getHandle());

return 
$reader;
}

/**
 * Return the number of bytes written
 *
 * @return int
 */
public function getBytesWritten()
{
return 
$this->bytesWritten;
}

/**
 * Opens a stream to the file in binary write mode
 * 
 * @throws TFilesystemException when opening the file was not possible
 */
public function open()
{
parent::open();
}

/**
 * Clears all text from the file. This results in an empty file. 
 * File will be locked (exclusive) during this operation
 */
public function truncate()
{
assert'$this->isOpened()' );

$this->lockWrite();
ftruncate$this->getHandle(), );
$this->lockRelease();
$this->seek0SEEK_SET );
}

/**
 * Writes a string to a file, file will be locked (exclusive) during this operation
 *
 * @param string $aString
 * @param int $aLength[optional]
 * 
 * @return int the number of bytes written, false when write failed
 */
public function write$aString$aLength null )
{
assert'$this->isOpened()' );

$this->lockWrite();
if (
$aLength === null)
{
$result fwrite$this->getHandle(), $aString );
}
else
{
$result fwrite$this->getHandle(), $aString$aLength );
}
$this->lockRelease();

if (
$result !== false)
{
$this->bytesWritten += $result;
}
return 
$result;
}

/**
 * Writes a line to the stream
 *
 * @param String $line
 *
 * @return int false when write failed
 */
public function writeLine$aLine )
{
$line $aLine "n";

return 
$this->write$line );
}
}
 
?>



主旨:

內容:




104休閒信箱 2.3.0 © 104mm.com 2001 - 2017. 您尚未登錄
Page generated in 0.01732802 seconds with 3 Queries