dipende tutto da quello che vuoi fare con la classe: deve rappresentare un file singolo, oppure un database?
(come è adesso non è molto bella, perché se chiamo due volte apri() mi perdo completamente un file aperto!)
File singolo:
Codice PHP:
class TextFile {
var $file = false;
function TextFile($nome)
{
if (!is_readable($nome) || !fopen($this->file, 'a+'))
return false;
}
function scrivi($riga = "")
{
if ($this->file)
{
fwrite($this->file, $riga);
fwrite($this->file, "\n");
}
}
function chiudi()
{
if ($this->file)
{
fclose($this->file);
$this->file = false;
}
}
}
se invece vuoi usarla per accedere a più file nello stesso modo:
Codice PHP:
class TextDB {
var $dir;
function TextDB($directory = './')
{
if (isdir($directory))
$this->dir = $directory;
else
return false;
}
function apri($nome)
{
$nomefile = $this->dir . $nome;
if (is_readable($nomefile) && ($f = fopen($nomefile)))
return $f;
return false;
}
function scrivi($file, $riga = "")
{
if ($file)
{
fwrite($file, $riga);
fwrite($file, "\n");
return true;
}
return false;
}
function chiudi($file)
{
if ($file)
{
fclose($file);
$file = false;
return true;
}
return false;
}
}