diff options
| author | 2013-06-14 20:53:12 +0200 | |
|---|---|---|
| committer | 2013-06-14 20:53:12 +0200 | |
| commit | fb5e5594bea149ca730bc6424dc547dab3347747 (patch) | |
| tree | 62a8d919e2f209bc74f3f8afc0f058e6801fe3db /lib/minz/dao/Model_txt.php | |
| parent | 1d459af0464eb2cdbdaaaf1122e1681210fdffea (diff) | |
Fix issue #82 : ajout direct de Minz sans devoir faire appel au script ./build.sh
Diffstat (limited to 'lib/minz/dao/Model_txt.php')
| -rwxr-xr-x | lib/minz/dao/Model_txt.php | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/lib/minz/dao/Model_txt.php b/lib/minz/dao/Model_txt.php new file mode 100755 index 000000000..ad15c8b36 --- /dev/null +++ b/lib/minz/dao/Model_txt.php @@ -0,0 +1,77 @@ +<?php +/** + * MINZ - Copyright 2011 Marien Fressinaud + * Sous licence AGPL3 <http://www.gnu.org/licenses/> +*/ + +/** + * La classe Model_txt représente le modèle interragissant avec les fichiers de type texte + */ +class Model_txt { + /** + * $file représente le fichier à ouvrir + */ + protected $file; + + /** + * $filename est le nom du fichier + */ + protected $filename; + + /** + * Ouvre un fichier dans $file + * @param $nameFile nom du fichier à ouvrir + * @param $mode mode d'ouverture du fichier ('a+' par défaut) + * @exception FileNotExistException si le fichier n'existe pas + * > ou ne peux pas être ouvert + */ + public function __construct ($nameFile, $mode = 'a+') { + $this->filename = $nameFile; + $this->file = fopen ($this->filename, $mode); + + if (!$this->file) { + throw new FileNotExistException ( + $this->filename, + MinzException::WARNING + ); + } + } + + /** + * Lit une ligne de $file + * @return une ligne du fichier + */ + public function readLine () { + return fgets ($this->file); + } + + /** + * Écrit une ligne dans $file + * @param $line la ligne à écrire + */ + public function writeLine ($line, $newLine = true) { + $char = ''; + if ($newLine) { + $char = "\n"; + } + + fwrite ($this->file, $line . $char); + } + + /** + * Efface le fichier $file + * @return true en cas de succès, false sinon + */ + public function erase () { + return ftruncate ($this->file, 0); + } + + /** + * Ferme $file + */ + public function __destruct () { + if (isset ($this->file)) { + fclose ($this->file); + } + } +} |
