123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <?php
- /* vim: set expandtab tabstop=4 shiftwidth=4: */
- // +----------------------------------------------------------------------+
- // | PHP Version 4 |
- // +----------------------------------------------------------------------+
- // | Copyright (c) 1997-2002 The PHP Group |
- // +----------------------------------------------------------------------+
- // | This source file is subject to version 2.02 of the PHP license, |
- // | that is bundled with this package in the file LICENSE, and is |
- // | available at through the world-wide-web at |
- // | http://www.php.net/license/2_02.txt. |
- // | If you did not receive a copy of the PHP license and are unable to |
- // | obtain it through the world-wide-web, please send a note to |
- // | license@php.net so we can mail you a copy immediately. |
- // +----------------------------------------------------------------------+
- // | Author: Xavier Noguer <xnoguer@php.net> |
- // | Based on OLE::Storage_Lite by Kawai, Takanori |
- // +----------------------------------------------------------------------+
- //
- // $Id: File.php,v 1.11 2007/02/13 21:00:42 schmidt Exp $
- require_once api_get_path(LIBRARY_PATH).'pear/OLE/PPS.php';
- /**
- * Class for creating File PPS's for OLE containers
- *
- * @author Xavier Noguer <xnoguer@php.net>
- * @category Structures
- * @package OLE
- */
- class OLE_PPS_File extends OLE_PPS
- {
- /**
- * The temporary dir for storing the OLE file
- * @var string
- */
- var $_tmp_dir;
- /**
- * The constructor
- *
- * @access public
- * @param string $name The name of the file (in Unicode)
- * @see OLE::Asc2Ucs()
- */
- function OLE_PPS_File($name)
- {
- $this->_tmp_dir = '';
- $this->OLE_PPS(
- null,
- $name,
- OLE_PPS_TYPE_FILE,
- null,
- null,
- null,
- null,
- null,
- '',
- array());
- }
- /**
- * Sets the temp dir used for storing the OLE file
- *
- * @access public
- * @param string $dir The dir to be used as temp dir
- * @return true if given dir is valid, false otherwise
- */
- function setTempDir($dir)
- {
- if (is_dir($dir)) {
- $this->_tmp_dir = $dir;
- return true;
- }
- return false;
- }
- /**
- * Initialization method. Has to be called right after OLE_PPS_File().
- *
- * @access public
- * @return mixed true on success. PEAR_Error on failure
- */
- function init()
- {
- $this->_tmp_filename = tempnam($this->_tmp_dir, "OLE_PPS_File");
- $fh = @fopen($this->_tmp_filename, "w+b");
- if ($fh == false) {
- return $this->raiseError("Can't create temporary file");
- }
- $this->_PPS_FILE = $fh;
- if ($this->_PPS_FILE) {
- fseek($this->_PPS_FILE, 0);
- }
- return true;
- }
- /**
- * Append data to PPS
- *
- * @access public
- * @param string $data The data to append
- */
- function append($data)
- {
- if ($this->_PPS_FILE) {
- fwrite($this->_PPS_FILE, $data);
- } else {
- $this->_data .= $data;
- }
- }
- /**
- * Returns a stream for reading this file using fread() etc.
- * @return resource a read-only stream
- */
- function getStream()
- {
- $this->ole->getStream($this);
- }
- }
- ?>
|