Un peu plus de gestion d'erreurs...

Il faut vraiement que je m'occupe de toutes les erreurs possibles...
This commit is contained in:
Georges Dupéron 2010-08-18 20:56:46 +02:00
parent 874f018bde
commit c1f0dad937
3 changed files with 15 additions and 5 deletions

View File

@ -31,7 +31,12 @@ class Erreur {
return new self("lecture", $message);
}
public function __construct($type, $message, $string = "[ debug : erreur de lecture ]") {
public static function écriture($message) {
return new self("écriture", $message);
}
public function __construct($type, $message, $string = null) {
if (is_null($string)) $string = "[ debug : erreur de " . $type . " ]";
$this->type = $type;
$this->message = $message;
$this->string = $string;

View File

@ -11,7 +11,9 @@ class Stockage {
$enfant = $chemin->enfant($nom);
Système_fichiers::créer_dossier($enfant->get_fs_stockage());
self::set_prop($enfant, "type", $type);
self::activer_réécriture($enfant);
$e = self::activer_réécriture($enfant);
if (Erreur::is_erreur($e)) return Erreur::fatale("Erreur lors de la mise en place de la redirection pour " . $enfant->get() . ".", $e);
exit;
return $enfant;
} else {
return false;

View File

@ -5,8 +5,9 @@
class Système_fichiers {
public static function créer_dossier($chemin_fs) {
$d = dirname($chemin_fs);
if (!is_dir($d)) self::créer_dossier($d);
if (!is_dir($chemin_fs)) mkdir($chemin_fs);
$r = true;
if (!is_dir($d)) $r = self::créer_dossier($d);
if (!is_dir($chemin_fs)) return $r && mkdir($chemin_fs);
}
/*public static function créer_fichier($chemin_fs) {
@ -33,7 +34,9 @@ class Système_fichiers {
public static function écrire($chemin_fs, $données) {
$d = dirname($chemin_fs);
if (!is_dir($d)) self::créer_dossier($d);
if (!is_dir($d) || self::créer_dossier($d)) {
return Erreur::écriture("Impossible d'écrire dans $chemin_fs : le dossier $d n'existe pas");
}
return file_put_contents($chemin_fs, $données);
}