» Effacer les sessions de Free

Rédigé par : Guillaume
Le : 30/08/2003 à 15:13
Hits : 7829
TéléchargerImprimer
Tout est dans le titre, ce petit code car on s'est rendu compte à plusieurs, que Free n'effaçait pas ou pas toutes les sessions du répertoire ( /sessions), même avec session_unset(); et session_destroy();

Donc l'idée de faire un code qui permettrait de lister les fichiers de sessions uniquement présent dans le dossier /sessions et de les effacer tous les X temps.

Il ne vous reste plus qu'a inclure ce fichier dans une page régulièrement consultée afin d'automatisé l'effacement (pensez à retirer les echo de ce code pour pas qu’ils apparaissent dans la page ou il sera inclus ;))

article_11.php
<?php
// ------------------------------------------------------------------------- //
// Effacer les sessions de Free                                              //
// ------------------------------------------------------------------------- //
// Le 30/08/2003 à 15h13 par Guillaume JIGUEL (guillaume@gphp.net)           //
// ------------------------------------------------------------------------- //
// http://www.gphp.net/articles,11.php                                        //
// ------------------------------------------------------------------------- //

// Config
// temps maxi avant d'effacer en sec (43200 sec = 12h)
$time_max 43200;
// Dossier sessions
$dossier 'sessions/';

// On affiche le super titre
echo '<h1><u>I Like Free\'s Sessions :-p</u></h1>';

// Ouverture du dossier de sessions
$ouverture opendir($dossier); 

// On parcourt le dossier en boucle
while ($fichiers readdir($ouverture)){

    
// On selectionne seulement les fichiers de sessions
    
if (is_file($dossier.$fichiers) && eregi('^.sess_[a-f0-9]{32}$'$fichiers)){
        
        
// On selectionne seulement les fichiers supérieur à 12h (43200 sec).
        
if (date('U'filectime($dossier.$fichiers))+$time_max date('U'time())){
            
            
// On efface le fichier
            
unlink ($dossier.$fichiers);

            
// on affiche le resultat du fichier éffacé
            
echo '<b>'.$fichiers.'</b> à été éffacé du dossier '.$dossier.'. <br />';
        
        }else{

            
// les fichiers supérieurs à time_max sont deja éffacés, on casse la boucle...
            
echo 'Les sessions en cours sont encore inférieures à '.($time_max/60/60).'h.';
            break;
        
        }

    }

}

// Fermeture du dossier de sessions
closedir($ouverture);
?>

» Commentaires

Pas de commentaires.

Vous devez être connecté en tant que Membre pour pouvoir poster un commentaire, Inscrivez vous ici !