設為首頁

收藏本站

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

類型:php_article

PHP File Writer 文檔寫入函數
PHP把內容寫入一個文件方便的方法
FileWriter.php


<?php 
namespace coreiowriter;
 
use 
coreioreaderStreamReader;
use 
coreiowriterStreamWriter;
 
/**
 * Write content to a file stream and supply convenience methods for file streams
 */
class FileWriter extends StreamWriter
{
/**
 * Streamreader used to delete lines
 *
 * @var StreamReader
 */
private $reader;

/**
 * Creates a new FileWriter
 * 
 * @param string aStreamUrl The file path
 * @param string $aOpenMode default = 'ab' (append, binary)
 */
public function __construct($aStreamUrl$aOpenMode 'ab')
{
parent::__construct($aStreamUrl$aOpenMode);
}

/**
 * Delete a line at a specific line number
 *
 * @param int $aLineNr
 */
public function deleteLine$aLineNr )
{
assert'$this->isOpened()' );
assert'is_int($aLineNr)' );

// create reader & writer
if ($this->reader === null)
{
$this->reader = new StreamReader$this->getStreamUrl() );
$this->reader->autoDetectLineEndingstrue );
}
$this->reader->open();

$tmpFileName tempnamsys_get_temp_dir(), 'mvc' );
$tmpWriter = new StreamWriter$tmpFileName );
$tmpWriter->open();

// read all lines except for the one which should not be read
$line 1;
while (! 
$this->reader->eof())
{
if (
$line == $aLineNr)
{
$this->reader->readLine();
$line ++;
continue;
}
$con $this->reader->readLine();
$tmpWriter->writeLine$con );
$line ++;
}
$this->reader->close();

clearstatcache();
$size filesize$tmpFileName );

// write all lines from the tmp filepointer to the current one
$tmpReader = new StreamReader$tmpFileName );
$tmpReader->open();

$this->truncate();

while (! 
$tmpReader->eof())
{
$con $tmpReader->readLine();
if (
$this->tell() != $size 1)
{
$this->writeLine$con );
}
}

$tmpReader->close();
$tmpWriter->close();

unlink$tmpFileName );
}

 
 
?>



主旨:

內容:




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