1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
<?php
/*
Donne la liste des derniers fichiers créés ET modifiés.
*/
$go_back = 0; // affiche résultat ou non
$i = 0; // compteur de boucle
$dir_count = 0; // initialisation de la boucle
$date = time(); // date et heure actuelle
$one_day = 86400; // nombre de secondes pour une journée
$days = preg_replace("/[^0-9]/i",'', $_POST["jours"]); // nombre de jours à vérifier
$path = preg_replace("/[^_A-Za-z0-9-\.%\/]/i",'', $_POST["chemin"]); // chemin de fichier absolu (avec nettoyage contre piratage)
$path = preg_replace("/\.\.\//",'', $path); // on interdit la commande ../
define('ABSPATH', dirname(__FILE__));
$path = ABSPATH.$path; // chemin de fichier absolu de votre compte du genre /home/loginftp/www/ ou /home/loginftp/public_html/ etc.
$directories_to_read[$dir_count] = ($path);
// Formulaire pour remonter le temps
print "<html><body><h3>Vérifier les derniers fichiers ajoutés depuis votre dernière lecture <br /></h3>";
print "<table><tr><td>";
print "<form method=\"post\">";
print "<tr><td>Nombre de jours à vérifier 1-99: </td>";
print "<td> <input type=\"text\" name=\"jours\" maxlength=\"2\" size=\"2\"></td></tr>";
print "<tr><td>Facultatif: Nom du sous-répertoire à contrôler: </td>";
print "<td><input type=\"text\" name=\"chemin\" maxlength=\"80\" size=\"30\" value=\"/Photographie/\" > (mettre un / à la fin de votre sous-répertoire )</td></tr>";
print "<tr><td> </td><td><input type=\"submit\" value=\" Lancer la vérification \">";
print "</form>";
print "</td></tr></table>";
// Affichage du résultat
$go_back = $one_day * $days;
print "<br /> Retour sur les <strong>" . ($go_back/$one_day) ."</strong> derniers jours. <br /><br />";
if ( $go_back > 0 ){
print "<table><tr><th>Nom du Fichier</th><th>Date de modification</th></tr>";
$diff = $date - $go_back;
while ( $i <= $dir_count ){
$current_directory = $directories_to_read[$i];
// obtenir info fichier
$read_path = opendir( $directories_to_read[$i] );
while ( $file_name = readdir( $read_path)){
if (( $file_name != '.' )&&( $file_name != '..' )){
if ( is_dir( $current_directory . "/" . $file_name ) == "dir" ){
// besoin d'obtenir tous les fichiers d'un répertoire
$d_file_name = "$current_directory" . "$file_name";
$dir_count++;
$directories_to_read[$dir_count] = $d_file_name . "/";
}else{
$file_name = "$current_directory" . "$file_name";
// Si temps modifiés plus récent que x jours, affiche, sinon, passe
if ( (filemtime( $file_name)) > $diff ){
$bad_extensions = array( 'html' , 'js' , 'gif' , 'png', 'php','jpg', 'jpeg','xml', 'txt');
$fileinfo=pathinfo($file_name);
if (!in_array(strtolower($fileinfo["extension"]),$bad_extensions))
{
$pieces = explode("Photographie", $file_name);
$position="/Photographie/";
?>
<tr><td><a href="<?php echo $position.$pieces[1]; ?> " target="_blank"><?php echo $position.$pieces[1]; ?></a></td>
<?php
//print "<tr><td>$pieces[1]</td>";
$date_changed = filemtime( $file_name );
$pretty_date = date("d/m/Y H:i:s", $date_changed);
print "<td> ::: $pretty_date</td></tr>" ;
}
else {
// liste des répertoires à exclure
$exclude = array( 'javascript' , 'files' );
// j'effectue une recherche dans les répertoires dont le nom contient E-Book
if (stristr($file_name, 'E-Book', true)){
//Je voudrais exclure les répertoires dont le chemin contient les noms figurant dans $bad_repert
if (!in_array(strtolower($file_name),$exclude)){
$file_name = "$current_directory" . "$file_name";
$pieces_2 = explode("Photographie", $file_name);
print "<tr><td> $pieces_2[1]</td>";
$date_changed = filemtime( $file_name );
$pretty_date = date("d/m/Y H:i:s", $date_changed);
print "<td> ::: $pretty_date</td></tr>" ;
}
}
}
}
}
}
}
closedir ( $read_path );
$i++;
}
print "</table>";
print "</body></html>";
} // if go_back > 0 )
?> |
Partager