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
Le code PHP:
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.
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(); ?>
Quelqu'un peut me dire ce qui ne va pas dans le code SVP. Merci.
Partager