Bonjour à toutes et tous,

J'ai un soucis avec la class ZipArchive.

Mon fichier Zip est bien créé et mes dossier et fichiers sont bien présents à l'intérieur.

Cependant, j'ai 2 problèmes :
- je ne peux pas extraire un fichier de l'archive sauf s'il se trouve à la racine;
- si j'extrais toute l'archive, l’arborescence est supprimée, les fichiers se retrouve tous au même niveau, alors que l’arborescence est bonne si je parcours l'archive avec un gestionnaire d'archive;

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$archive = new ZipArchive;
 
foreach($files as $file_origin_path) {
    if($error === FALSE) {
        $error = !$archive->addFile($file_origin_path, str_ireplace($path, '', $file_origin_path));
    }
}
$archive->close();
J'ai essayé en créant préalablement les dossiers via $archive->addEmptyDir mais cela ne change rien.

Je pense qu'il s'agit d'un problème d'Index ou quelque chose de ce genre là... mais je sèche un peu.

Est-ce que quelqu’un aurait une piste à me proposer ?

Merci,