OLE
[ class tree: OLE ] [ index: OLE ] [ all elements ]

Source for file File.php

Documentation is available at File.php

  1. <?php
  2. /* vim: set expandtab tabstop=4 shiftwidth=4: */
  3. // +----------------------------------------------------------------------+
  4. // | PHP Version 4                                                        |
  5. // +----------------------------------------------------------------------+
  6. // | Copyright (c) 1997-2002 The PHP Group                                |
  7. // +----------------------------------------------------------------------+
  8. // | This source file is subject to version 2.02 of the PHP license,      |
  9. // | that is bundled with this package in the file LICENSE, and is        |
  10. // | available at through the world-wide-web at                           |
  11. // | http://www.php.net/license/2_02.txt.                                 |
  12. // | If you did not receive a copy of the PHP license and are unable to   |
  13. // | obtain it through the world-wide-web, please send a note to          |
  14. // | license@php.net so we can mail you a copy immediately.               |
  15. // +----------------------------------------------------------------------+
  16. // | Author: Xavier Noguer <xnoguer@php.net>                              |
  17. // | Based on OLE::Storage_Lite by Kawai, Takanori                        |
  18. // +----------------------------------------------------------------------+
  19. //
  20. // $Id: File.php 252097 2008-02-02 21:00:37Z schmidt $
  21.  
  22.  
  23. require_once 'OLE/PPS.php';
  24. require_once 'System.php';
  25.  
  26. /**
  27. * Class for creating File PPS's for OLE containers
  28. *
  29. @author   Xavier Noguer <xnoguer@php.net>
  30. @category Structures
  31. @package  OLE
  32. */
  33. class OLE_PPS_File extends OLE_PPS
  34. {
  35.     /**
  36.     * The temporary dir for storing the OLE file
  37.     * @var string 
  38.     */
  39.     var $_tmp_dir;
  40.  
  41.     /**
  42.     * The constructor
  43.     *
  44.     * @access public
  45.     * @param string $name The name of the file (in Unicode)
  46.     * @see OLE::Asc2Ucs()
  47.     */
  48.     function OLE_PPS_File($name)
  49.     {
  50.         $this->_tmp_dir = System::tmpdir();
  51.         $this->OLE_PPS(
  52.             null
  53.             $name,
  54.             OLE_PPS_TYPE_FILE,
  55.             null,
  56.             null,
  57.             null,
  58.             null,
  59.             null,
  60.             '',
  61.             array());
  62.     }
  63.  
  64.     /**
  65.     * Sets the temp dir used for storing the OLE file
  66.     *
  67.     * @access public
  68.     * @param string $dir The dir to be used as temp dir
  69.     * @return true if given dir is valid, false otherwise
  70.     */
  71.     function setTempDir($dir)
  72.     {
  73.         if (is_dir($dir)) {
  74.             $this->_tmp_dir $dir;
  75.             return true;
  76.         }
  77.         return false;
  78.     }
  79.  
  80.     /**
  81.     * Initialization method. Has to be called right after OLE_PPS_File().
  82.     *
  83.     * @access public
  84.     * @return mixed true on success. PEAR_Error on failure
  85.     */
  86.     function init()
  87.     {
  88.         $this->_tmp_filename tempnam($this->_tmp_dir"OLE_PPS_File");
  89.         $fh @fopen($this->_tmp_filename"w+b");
  90.         if ($fh == false{
  91.             return $this->raiseError("Can't create temporary file");
  92.         }
  93.         $this->_PPS_FILE $fh;
  94.         if ($this->_PPS_FILE{
  95.             fseek($this->_PPS_FILE0);
  96.         }
  97.  
  98.         return true;
  99.     }
  100.     
  101.     /**
  102.     * Append data to PPS
  103.     *
  104.     * @access public
  105.     * @param string $data The data to append
  106.     */
  107.     function append($data)
  108.     {
  109.         if ($this->_PPS_FILE{
  110.             fwrite($this->_PPS_FILE$data);
  111.         else {
  112.             $this->_data .= $data;
  113.         }
  114.     }
  115.  
  116.     /**
  117.      * Returns a stream for reading this file using fread() etc.
  118.      * @return  resource  a read-only stream
  119.      */
  120.     function getStream()
  121.     {
  122.         $this->ole->getStream($this);
  123.     }
  124. }
  125. ?>

Documentation generated on Mon, 11 Mar 2019 15:47:10 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.