Effacement des fichiers selon une date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Effacement des fichiers selon une date

par Xenon_54 » 05 juin 2007, 02:31

PHP ne possède malheureusement pas l'équivalent de find en bash.
Il faudrait comparer la date manuellement pour tous les fichiers.
Le temps de modification retournée par filemtime() est en unix_timestamp.

Tu peux comparer ainsi:
$filemtime = filemtime('monfichier.txt');
if ($filemtime < now()-(60*60*24*30)) {
  echo 'Trop vieux!';
}
Fais des tests avant de procéder à la suppression définitive.

par Ryle » 04 juin 2007, 15:21

Jete un p'tit coup d'oeil à la FAQ : Quelques petites manipulations avec les dates (PHP/MySQL), tu y verras comment connaitre la date du jour et calculer un écart entre deux date.

Tu pourras ainsi comparer avec la date de chaque fichier pour savoir si l'écart est supérieur à 30 jours et savoir s'il faut le supprimer ou pas :)

par zepretender » 04 juin 2007, 15:11

Merci pour cette réponse !

mais...

Comment faire pour que ce soit antérieur aux 30 derniers jours ?

par Ryle » 04 juin 2007, 12:32

La fonction filemtime() te permet de connaitre la date de dernière modification d'un fichier, quant à la suppression il te suffit d'utiliser unlink() pour virer les fichiers "périmés" :)

Effacement des fichiers selon une date

par zepretender » 04 juin 2007, 11:41

Bonjour,

Dans un répertoire, je voudrais pouvoir effacer tous les fichiers dont la date de création est inférieure à 30 jours de manière à ne garder que ceux qui ont été créés sur le mois précédent.

Pouvez-vous me dire comment faire ?

Merci