Bonjour,

J'ai trouvé des parties de CLASS pour faire afficher des fichiers dans un répertoire afin d'en sélectionner et les supprimer.

J'ai complété la CLASS mais tout ce que j'arrive à faire, c'est d'afficher le contenu du répertoire avec des cases à cocher.

Cela me donne ceci en image:

image attachée Nom : img.png
Affichages : 161
Taille : 6,3 Ko

Le code PHP:

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
<?php
 
class Fichiers {
 
 
 
     public function readFiles() {
 
            $thelist = '';
 
            if ($handle = opendir('upload/')) {
                $thelist .= '<form method="post"><table>';
                $thelist .= '<tr><th colspan="2" align="left"><h2>List all files</h2></th></tr>';
                while (false !== ($file = readdir($handle)))
                   {
                       if ($file != "." && $file != "..")
                       {
                             $thelist .= '<tr><td><input type="checkbox" name="selectedFiles[]" value="'.$file.'"></td><td><a href="'.$file.'">'.$file.'</a></td></tr>';
                       }
                    }
 
                    $thelist .=  '<tr><td colspan="2" align="left"><input type="submit" value="Delete selected files" name="delete" style="height:30px;width:150px; margin-top:8px;"></td></tr>';
                    $thelist .= '</table></form>';
                    closedir($handle);
            } 
            echo $thelist;
        }
 
      public function selectedFiles() {
 
             if(isset($_REQUEST['delete'])) {
                if( sizeof( $_POST['selectedFiles'] ) > 0) {              
                    $this->deleteFiles( $_POST['selectedFiles'] );
                }
            }
 
        }
 
        public function deleteFiles($selectedFiles) {
 
            foreach( $selectedFiles  as $selectedFile ) {
                $path= "upload/".$selectedFile;
                if (file_exists($path)) {
                    if( unlink( $path ) ) 
                        echo "Deleted file " .$selectedFile."\n";
                } 
                else {
                    echo "The file $path does not exist";
                }            
            }
 
        }
 
}
 
 
$mesFichiers = new Fichiers();
echo "FICHIERS : " . $mesFichiers->readFiles();
 
?>
En principe, ça devrait pouvoir effacer les fichiers sélectionnés, mais, ce n'est pas ce qui arrive, ça ne fait rien. Même pas un message d'erreur.

Quelqu'un peut me dire ce qui ne va pas dans le code SVP. Merci.