Parcourir un répertoire et récupérer les dates de création

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


dadovb
WRInaute accro
WRInaute accro
 
Messages: 2038
Inscription: Mar Nov 22, 2005 9:50

Parcourir un répertoire et récupérer les dates de création

Message le Ven Mar 31, 2006 9:53

Bonjour à tous,

Je souhaiterais créer un script php qui parcourt le répertoire temporaire de mon site web (sous linux) et qui supprime les dossiers ayant plus de 25h.
Pourriez-vous m'indiquer les commandes dont je vais avoir besion pour :

- parcourir le répertoire temporaire
- récupérer les dates de dernière modification des répertoires et fichiers

Merci d'avance à tous. :)

tophus
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 210
Inscription: Ven Aoû 12, 2005 8:23

Message le Ven Mar 31, 2006 10:24

ca doit marcher ca:

// Lister tous les fichiers du répertoire

function browse ($pDirectory, $pExtension)
{
if($handle = opendir($pDirectory))
{
while(false !== ($file = readdir($handle)))
{
$getExt = explode(".", $file);
$countExt = count($getExt);
$fExt = $countExt - 1;
$myExt = $getExt[$fExt];

if (($myExt == $pExtension) && ($file != ".") && ($file != ".."))
{
$files[$file] = filemtime($pDirectory.'/'.$file);
}
}
}
arsort($files);
return $files;
closedir($handle);
}



//affiche la date et l'heure de modification ou création d'un fichier
function date_fic($file,$h) {
if ($h=="1")
{
$date_fic=date("Ymd à H:i", filemtime($file));
}
else
{
$date_fic=date("Ymd", filemtime($file));
}
return $date_fic;
}


dadovb
WRInaute accro
WRInaute accro
 
Messages: 2038
Inscription: Mar Nov 22, 2005 9:50

Message le Ven Mar 31, 2006 10:34

Merci tophus, mais apparemment j'ai un petit problème, il me renvoie toujours cette date :
19700101

Pour tous mes fichiers alors que quand j'affiche leur date de modif depuis le shell, c'est le 15mars.

J'ai peur qu'il ne me renvoie la plus petite date que puisse renvoyer filemtime, qu'en pensez-vous ?

tophus
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 210
Inscription: Ven Aoû 12, 2005 8:23

Message le Ven Mar 31, 2006 10:42

Normalement non; pr afficher tu fais comment?

Essaye ca:

$getFile = browse("../temp", "jpg"); //metre le bon rep et l'ext recherché

foreach($getFile as $key => $val){
echo $key." --> ".date("Ymd à H:i", $val)."<br>\n";
}


dadovb
WRInaute accro
WRInaute accro
 
Messages: 2038
Inscription: Mar Nov 22, 2005 9:50

Message le Ven Mar 31, 2006 12:02

En fait, en relisant mon post, je me rends compte que je me suis mal exprimé, j'en suis navré.

Je reprends donc, en fait je souhaite obtenir la date de dernière modification des sous-répertoires de mon dossier temp, pas des fichiers, donc je dois juste descendre d'un étage après temp/, puis lister tous les répertoires (et uniquement les répertoires), checker leur date afin de supprimer les REPERTOIRES trop anciens.

Et je n'est pas trouver de commande qui me permette d'obtenir la date de derniere modification d'un répertoire...


dadovb
WRInaute accro
WRInaute accro
 
Messages: 2038
Inscription: Mar Nov 22, 2005 9:50

Message le Ven Mar 31, 2006 12:29

J'ai essayé de faire mon propre script qui donne ca :
Code: Tout sélectionner
$dir = $site."/temp";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
   $files[] = $filename;
   $nb++;
}

sort($files);

print_r($files);
for($i=2;$i<$nb;$i++){
   $date_fic=date("Ymd", filemtime($files[$i]));
   echo $date_fic."<br>";
}


Malheureusement, il m'affiche toujours la meme date de modification :
19700101

Merci de votre aide


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités