Class PHP manageFile

Description

Permet de gérer des fichiers, dans le contexte de développement web.

 

Elle assume les gestions suivantes :

 

Voici le code source de la classe "manageFile".

<?php
class manageFile {
/*
    Cette class va nous permettre de gérer des fichiers :
    - gestion de la date de modification
    - gestion de la taille
    - gestion du temps d'execution
*/


// Exemple d'execution de la class manageFile
/*
$file = new manageFile();
$file->verify_file('fichier_xyz.ext');
$file->start_time_exec();
echo "Size: ".$file->show_size()."<br />\n";
echo "Date: ".$file->format_date('%c')."<br />\n";
echo "Hour: ".$file->format_date('%H')."<br />\n";
echo "Min: ".$file->format_date('%M')."<br />\n";

$file->end_time_exec();

echo "Execute in: ".$file->show_time_exec()."<br />\n";

$file->show_src();
*/


    public $file;  // definir un fichier pour y acceder
    public $lang;  // definir une langue
    public $LANG;  // definir une langue en caractères MAJUSCULE
    public $locale;        // definir la localisation linguistique
    public $owner; // vérifier le droit d'appartenance
    public $tile;  // definir un titre de fichier
    public $timer;  // obtenir le temps de modification au fichier
    public $date;  // obtenir la date de modification au fichier
    public $hour;  // obtenir l'heure de modification au fichier
    public $min;   // obtenir la minute de modification au fichier
    public $size;  // obtenir la taille de fichier
    public $exec;  // definir le temps d'exécution
    public $src;   // obtenir la source du fichier pour visualisation
   
        public function __construct() {
                $this->seconds=60*60*24*30;
        }
       
    // verify if file exists and is owner
    public function verify_file($file) {
        $this->owner = fileOwner("index.php");
       
        if(file_exists($file) && is_file($file) && is_readable($file)
            && (fileOwner($file) == $this->owner)) {
           
            $this->file = $file;

        }
        else return FALSE;
    }
   
    // access to the file
    public function get_file() {
        $this->line = file($this->file);
        return $this->line;
    }
   
    public function get_extension() {
        $this->ext = array_reverse(explode(".", $this->file));
        return $this->ext[0];
    }
   
    public function get_tile() {
        $this->get_file();
       
        $this->tile = $this->line[0];
        return $this->tile;
    }
   
    public function cmp_file() {
        $this->inode = getMyInode($this->file);
    }
   
    // manage date modified
    public function get_time_modif() {
        $this->timer = filemtime($this->file);
    }

        public function date_expires() {
                $this->timestamp = $this->timer+$this->seconds;
                return $this->timestamp;
        }

        public function format_date($format) {
                $this->format = strftime($format, $this->timer);
                return $this->format;
        }
       
        public function max_age() {
                $this->max_age=$this->seconds;
                return $this->max_age;
        }

    // manage size
    public function show_size() {
        $this->size = fileSize($this->file)/1024;
        $this->size = number_format($this->size, 2, '.', ' ');
        return $this->size;
    }
   
    // manage time to execution
    public function start_time_exec() {
        $this->start_time = getTimeOfDay();
    }
   
    public function end_time_exec() {
        $this->end_time = getTimeOfDay();
    }
   
    public function show_time_exec() {
        $this->exec = @round(($this->end_time[sec] + $this->end_time[usec] / 100000) - ($this->start_time[sec] + $this->start_time[usec] / 100000), 5);
        return $this->exec;
    }
   
    // display source
    public function show_src() {
        $this->src = show_source($this->file);
    }
}

?>
 

 

 


<<| Page : PHP : class : manageFile : |>>


 

 

^ Haut de page ^