ILIAS  eassessment Revision 61809
 All Data Structures Namespaces Files Functions Variables Groups Pages
File.php
Go to the documentation of this file.
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,v 1.12 2008/02/02 21:00:37 schmidt Exp $
21 
22 
23 require_once 'OLE/PPS.php';
24 require_once 'System.php';
25 
33 class OLE_PPS_File extends OLE_PPS
34 {
39  var $_tmp_dir;
40 
48  function OLE_PPS_File($name)
49  {
50  $this->_tmp_dir = System::tmpdir();
51  $this->OLE_PPS(
52  null,
53  $name,
55  null,
56  null,
57  null,
58  null,
59  null,
60  '',
61  array());
62  }
63 
71  function setTempDir($dir)
72  {
73  if (is_dir($dir)) {
74  $this->_tmp_dir = $dir;
75  return true;
76  }
77  return false;
78  }
79 
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_FILE, 0);
96  }
97 
98  return true;
99  }
100 
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 
120  function getStream()
121  {
122  $this->ole->getStream($this);
123  }
124 }
125 ?>