ZipArchive - Ne pas mettre les dossiers courants et parents dans l'arborescence
Posté : 14 juil. 2019, 10:53
Salut à tous.
Voila, j'ai codé un petit bout de code en m'inspirant d'autres codes. Le but: créer un fichier ZIP qui contienne tous les fichiers d'un dossier, en respectant l'arborescence et de manière récursive pour les sous-dossiers.
Le code marche plutôt bien mais, quand j'ouvre l'archive, j'ai un dossier ".", qui contient un dossier "_" qui lui même contient enfin le dossier scanné.
Ma question: qu'est-ce qui "merde" dans mon code qui me créé ces deux dossiers un peu gênant. Sinon le code est fonctionnel, pas de soucis de ce côté là.
D'avance merci
Voila, j'ai codé un petit bout de code en m'inspirant d'autres codes. Le but: créer un fichier ZIP qui contienne tous les fichiers d'un dossier, en respectant l'arborescence et de manière récursive pour les sous-dossiers.
Le code marche plutôt bien mais, quand j'ouvre l'archive, j'ai un dossier ".", qui contient un dossier "_" qui lui même contient enfin le dossier scanné.
Ma question: qu'est-ce qui "merde" dans mon code qui me créé ces deux dossiers un peu gênant. Sinon le code est fonctionnel, pas de soucis de ce côté là.
D'avance merci
function ScanDirectoryZip($Directory){
global $zip;
$MyDirectory = opendir($Directory) or die('Erreur');
while($Entry = @readdir($MyDirectory)) {
// si c'est un dossier, on le créé dans le zip
if(is_dir($Directory.'/'.$Entry) && $Entry != '.' && $Entry != '..') {
$zip->addEmptyDir($Directory.'/'.$Entry);
ScanDirectoryZip($Directory.'/'.$Entry);
}
// si c'est un fichier, on l'ajoute à l'archive
else if ($Entry != '.' && $Entry != '..'){
$zip->addFile($Directory."/".$Entry);
}
}
closedir($MyDirectory);
}