Je dispose de plusieurs fichiers zipés qui après extractions donnent chacun, un seul fichier avec un nom différent du fichier originel.
fichier_1.zip donne un fichier nommé machin
fichier_2.zip donne un fichier nommé truc
...
fichier_n.zip donne un fichier nommé toto
Je voudrai que la boucle qui traite chaque fichier .zip enregistre le nom de celui-ci pour renommer le résultat. Ainsi, après traitement on obtiendrai des fichiers décompressés et nommés comme suit:
fichier_1, fichier_2, ..., fichier_n
Le dézipage se déroule très bien mais je ne parvient pas à renommer les fichiers dézipés.
Pourriez-vous me donner un coup de pouce S.V.P.
Voici mon code
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 <?php $dirname = "C:/wamp64/www/tests/cultures_data_dir/"; $dir = opendir($dirname); while($file = readdir($dir)) { $file = $dirname.$file; if((is_file($file)) && (preg_match("#^.*zip{1}$#", $file))) { echo 'file name:'.$file.'<br />'; $zip = new ZipArchive; $res = $zip->open($file); if ($res === TRUE) { $zip->extractTo($dirname); $zip->close(); echo "OK $file extracted to $dirname\n"; } else { echo "NO! I couldn't open $file\n"; } } } closedir($dir); ?>
Partager