Page 1 sur 1

effacer des fichiers ayant 1 date de dernier acces >=1jou

Posté : 11 mars 2007, 19:59
par BeRoots
salut la compagnie :)

je cherche a effacer tous les fichiers d'un dossier ayant une date superieur ou egale à un jour.

J'ai regarder du coté de pas mal de fonction mais je n'ai pas trouvé de methodes qui me conviennent.

Si quelqu'un avait un petit conseil à proposer.
MERCI D'AVANCE

Posté : 11 mars 2007, 20:10
par zeus
L'algo que je mettrais en place :

Code : Tout sélectionner

Pour chaque fichier du dossier Faire Récupérer date dernier accès Si la date de dernier acces se situe avant minuit d'aujourd'hui Alors Effacer le fichier Fin si Fin pour
Récupérer date de dernier acces : fileatime()
Effacer un fichier : unlink()

bon courage ;)

Posté : 12 mars 2007, 18:03
par Invité
ok. j'ai fait quelque test et je pense faire un peu differement

Code : Tout sélectionner

// on efface les fichier de session périmés de plus de 1 jour $tableau_fichiers_session = array(scandir(session_save_path())); foreach($tableau_fichiers_session as $tableau_fichiers) { echo fileatime($tableau_fichiers); }
mais j'ai le message d'erreur suivant:
Notice: Array to string conversion in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.6\includes\session_ctrl.php on line 63

Warning: fileatime() [function.fileatime]: stat failed for Array in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.6\includes\session_ctrl.php on line 63
je ne voit pas trop comment m'en sortir :-k
si quelqu'un à une idée ;)
merci d'avance

Posté : 12 mars 2007, 18:07
par BeRoots
desolé mais j'ai oublier de me connecter avant de repondre donc je reposte le message avec certaine correction :oops:

ok. j'ai fait quelque test et je pense faire un peu differement
 // on efface les fichier de session périmés de plus de 1 jour
$tableau_fichiers = array(scandir($path));
foreach($tableau_fichiers as $var)
{
    echo fileatime($var);
}
mais j'ai le message d'erreur suivant:
Notice: Array to string conversion in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.6\includes\session_ctrl.php on line 63

Warning: fileatime() [function.fileatime]: stat failed for Array in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.6\includes\session_ctrl.php on line 63
je ne voit pas trop comment m'en sortir :-k
si quelqu'un à une idée ;)
merci d'avance

Posté : 12 mars 2007, 18:15
par titerm
scandir te déjà retourne un tableau indexé... en plus tu en remet un autre...

Une versino plus simple
// Suppose que ton path se termine par /, sinon il faut mettre '/*' 
foreach(glob($path.'*')  as $var) 
echo ...