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
|
<?php
class FileHandler extends ErrorHandler
{
var $__FILE_HANDLER = null;
var $__FILE_NAME = "";
function openFile($FILENAME,$MODE="r+")
{
$this->__FILE_NAME = $FILENAME;
if(false === ($result = fopen($FILENAME,$MODE)))
{
$this->setError("Could not open '$FILENAME'");
return false;
}
$this->__FILE_HANDLER = $result;
return true;
}
function closeFile()
{
fclose($this->__FILE_HANDLER);
$this->__FILE_HANDLER = null;
}
function readContents($FILENAME,$OVERWRITE=false)
{
if($this->__FILE_HANDLER && !$OVERWRITE)
{
$this->setError("Another file was opened before: $this->__FILE_NAME");
return false;
}
$this->openFile($FILENAME);
$CONTENTS = fread($this->__FILE_HANDLER,filesize($FILENAME));
$this->closeFile();
return $CONTENTS;
}
function generateTemp($DIR="/tmp")
{
list($msec,$sec) = explode(" ",microtime());
$srand = (float)$msec * 100000 + (float)$sec;
srand($srand);
$temp = $DIR."/".MD5(rand());
return $temp;
}
function deleteFile($FILENAME)
{
if(!unlink($FILENAME))
{
$this->setError("Could not delete '$FILENAME'");
return false;
}
return true;
}
function getFileType($FILENAME)
{
if(is_dir($FILENAME))
return 1;
if(is_file($FILENAME))
return 2;
return 0;
}
function getBasename($FILENAME)
{ return basename($FILENAME);}
}
?>
|