logo Homepage
Pages: [1]
  Imprimer  
Auteur Fil de discussion: Comment afficher les dates de modif de tous les fichiers de mon site web  (Lu 2868 fois)
geogeo

Profil challenge

Classement : 1056/54284

Membre Junior
**
Hors ligne Hors ligne
Messages: 65


Voir le profil
« le: 28 Novembre 2009 à 10:11:30 »

Hello les jeun's !

Mon problème va surement faire sourire certains d'entre vous ....

J'ai touché il y a looooongtemps a certains fichiers d'include planqués de mon site pour une sombre histoire d'affichage d'image (peu importe).
Le souci c'est que évidemment, je n'ai rien documenté et forcément, je ne retrouve plus ce que j'ai touché (c'est con quand même  ).

Existe il un utilitaire me permettant de voir la date de motif de chacun des fichiers présents sur le domaine (ca restreindra déja pas mal la recherche) ?

Merci d'avance pour votre aide toujours si précieuse (un peu de lèche de fais jamais de mal ...)
Journalisée

Geek under construction ...
robert33
Beta testeur

Profil challenge

Classement : 36/54284

Néophyte
*
Hors ligne Hors ligne
Messages: 44


Voir le profil
« #1 le: 28 Novembre 2009 à 13:11:25 »

En php, tu as la fonction filemtime (http://php.net/manual/fr/function.filemtime.php) qui t'indique la date de dernière modification, après sur unix par exemple t'as les fonctions de base du noyau du type ls qui ont des options pour afficher tous les fichiers et dossiers d'un emplacement récursivement, en triant par date de dernière modification, tu peux aussi afficher ces dates, etc...
Journalisée
geogeo

Profil challenge

Classement : 1056/54284

Membre Junior
**
Hors ligne Hors ligne
Messages: 65


Voir le profil
« #2 le: 29 Novembre 2009 à 09:43:24 »

Bon ... j'aurais préféré une solution plus simple mais si tu me dis que j'ai pas le choix ....

Si ca peut éviter a quelqu'un d'autre de le faire, le voici :
(J'ai pas beaucoup de temps a y consacrer ... c'est a peaufiner)

Code:
<?php

// Extensions autorisées :
$auth_ext = array("php","html");

// Récupère tous les fichiers présents
function getAllFiles($directory$recursive true) {
 global $auth_ext;
     
$result = array();
     
$handle =  opendir($directory);
     while (
$datei readdir($handle))
     {
          if ((
$datei != '.') && ($datei != '..'))
          {
               
$file $directory.$datei;
   // extention du fichier :
   $tab_ext explode(".",$file);
   $ext $tab_ext[count($tab_ext) -1];

   // Si c'est un repertoire, on le parcours lui aussi
               
if (is_dir($file)) {
                    if (
$recursive) {
                         
$result array_merge($resultgetAllFiles($file.'/'));
                    }
// sinon, on vérifie que c'est une extention autorisée et on stocke les résultats
             
} elseif( in_array($ext,$auth_ext)) {
                    
$result[] = $file;
               }
          }
     }
     
closedir($handle);
     return 
$result;
}

//Scan la liste de fichiers et traite les valeurs
function getTimestamps($directory$recursive true) {
     
$allFiles getAllFiles($directory$recursive);

// alimentation des tableaux de noms et de dates
     
foreach ($allFiles as $val) {
$names[] = $val;
$dates[] = filemtime($val);}

// classement des résultats
array_multisort($datesSORT_DESCSORT_STRING$names);  

//concatenation du résultat
 $i =0;
     foreach ($dates as $date) {
 $result.= '<tr><td>'.$names[$i].'</td><td>'.date('Y-m-d H:i:s',$date).'</td></tr>';  
     $i++;
     }
  
     return 
$result;
}

// affichage
echo '<br><table border="1"><th>nom du fichier</th><th>date et heure</th>'.getTimestamps('../').'</table>';

?>



EDIT : HAAAAAAAAA j'ai retrouvé ce @#~#@ de fichier ...
Merci pour le tuyau Robert33. A+!
« Dernière édition: 29 Novembre 2009 à 09:49:48 par geogeo » Journalisée

Geek under construction ...
Pages: [1]
  Imprimer  
 
Aller à: