2013-07-12 5 views
1
$File = "images/files.txt"; 

$zip = new ZipArchive(); 
$filename = "./images/files.zip"; 

if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) { 
exit("cannot open <$filename>\n"); 
} 

$zip->addFile("$File"); 
$zip->close(); 

Ce code crée un fichier files.zip dans le dossier 'images', si j'ouvre ce fichier zip, le dossier 'images' est là aussi. Je ne veux pas que les 'images' de dossier soient là. Mais seul le fichier 'files.txt' (situé dans le dossier images) doit être présent.créer un fichier zip dans un dossier mais sans dossier à l'intérieur de ce zip

Structure des fichiers:

  • zip.php

  • images

    • files.txt

Comment puis-je faire cela?

+0

opendir(). Cela fonctionne comme prévu. Aucun dossier d'image à l'intérieur de ce zip –

+0

Je l'ai testé votre code

$File = "images/files.txt"; $zip = new ZipArchive(); $filename = "./images/files.zip"; if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) { exit("cannot open <$filename>\n"); } // use the second parameter of addFile(). It will give the file // a new name inside the archive. basename() returns the filename // from a given path $zip->addFile("$File", basename($File)); if(!$zip->close()) { die('failed to create archive'); } 
hek2mgl

+0

Possible copie de cette question: [php-création-zips-sans-chemin-aux-fichiers-dans-le-zip] (http://stackoverflow.com/questions/3993105/php-creating -zips-sans-chemin-aux-fichiers-dans-le-zip? rq = 1) –

Répondre

3

@ hek2mgl J'ai « files.txt » dans le dossier 'images de, voilà pourquoi cela se passe

Ensuite, votre code ne fonctionnera pas du tout comme le chemin de $File est erroné. Utilisez ceci:

se trouver dans `images` et utilisez $ seulement pour nom de fichier files.zip
+0

Désolé, c'est le répertoire que je donne à $ File et ça ne fonctionne pas –

+0

Ne vous comprends pas. – hek2mgl

+0

J'ai mis à jour la question, j'espère que vous allez essayer à nouveau –

Questions connexes