Bonjour

Qui peut m'aider à résoudre une difficulté dans mon code

Je cherche à lister pour mes élèves les dernières mises à jour des fichiers pdf, txt, doc etc...

Jusque là tout va bien

mais je voudrais également lister les fichiers index.html dans les répertoires contenant le mot E-Book le pb se situe dans le else à partir de la ligne 66 (là ou il y a le commentaire // liste des répertoires à exclure et je n'arrive pas à exclure les fichiers dont le chemin contient 'javascript' 'files '

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?php
 
 
    $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 modifiés depuis votre dernière lecture <br /></h3>";
    print "<table><tr><td>";
    print "<form method=\"post\">";
    print "<tr><td>Nombre de jours &agrave; v&eacute;rifier 1-99: </td>";
    print "<td>&nbsp;&nbsp;<input type=\"text\" name=\"jours\" maxlength=\"2\" size=\"2\"></td></tr>";
	print "<tr><td>Facultatif Nom du sous-r&eacute;pertoire &agrave; contr&ocirc;ler: </td>";
    print "<td><input type=\"text\" name=\"chemin\" maxlength=\"80\" size=\"30\" value=\"/Photographie/\" > (mettre un / &agrave; la fin de votre sous-r&eacute;pertoire )</td></tr>";
    print "<tr><td> </td><td><input type=\"submit\" value=\" V&eacute;rifier Fichiers \">";
    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');
						$fileinfo=pathinfo($file_name);
						if (!in_array(strtolower($fileinfo["extension"]),$bad_extensions))
		{
							$pieces = explode("Photographie", $file_name);
                            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
$bad_repert = array( 'javascript' , 'files' );
// j'effacetue une recherche dans les répertoires dont le nom contient E-Book
if (stristr($file_name, 'E-Book', true)){
//Si je trouve un dossier index.html
if ($file_name=("index.html")){
 
$fileinfo_1=pathinfo($file_name);
//Je voudrais exclure les répertoires dont le chemin contient les noms figurant dans $bad_repert
if (!in_array(strtolower($fileinfo_1["dirname"]),$bad_repert)){
		$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 )            
?>