File.inc
2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
/**
* $Id$
*
* Represents a file on disk.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* @version $Revision$
* @author Adam Monsen
* @package lib.documentmanagement
*/
class File {
/** file name */
var $sFilename;
/** file size */
var $iSize = 0;
/** file descriptor */
var $fd = NULL;
/** status: fopen() was attempted */
var $bTriedOpen = FALSE;
/**
* Constructor.
*
* @param string filename
*/
function File ($sFilename) {
$this->sFilename = $sFilename;
}
/**
* Uses fopen() to open a filehandle. Stores
* opened filehandle in $this->fd
*
* @param string mode, as accepted by fopen()
* @return boolean return value from fopen()
*/
function open($sMode) {
$bSucceeded = FALSE;
$handle = fopen($this->sFilename, $sMode);
if ($handle) {
$this->fd = $handle;
$bSucceeded = TRUE;
}
$this->bTriedOpen = TRUE;
return $bSucceeded;
}
/**
* Closes filehandle and calls resetFile()
*
* @return boolean status from fclose()
*/
function close() {
$bStatus = fclose($this->fd);
$this->resetFile();
return $bStatus;
}
/**
* Sets $this->fd to NULL and resets
* $this->bTriedOpen flag to FALSE.
*
* @return boolean status from fclose()
*/
function resetFile() {
$this->fd = NULL;
$this->bTriedOpen = FALSE;
}
}
?>