Zipper un dossier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Zipper un dossier

par stopher » 29 juin 2009, 16:40

Salut ,

PHPfrance , est plus là pour t'aider à résoudre des problèmes que tu rencontres en codant , on ne donne pas de script fait sur mesure .

Pour des scripts tout fait , tu as des site comme PHPClass

Catégorie compression :
http://phpclasses.100pour100net.com/bro ... ss/42.html

Good luck ,

Ch.

par jc9123 » 29 juin 2009, 16:34

Désoler du double post mais j'ai trouvé un script qui fais ça mais je n'arrive pas a l'utiliser :cry:
<?php
class ZipFolder {
    protected $zip;
    protected $root;
    protected $ignored_names;
   
    function __construct($file, $folder, $ignored=null) {
        $this->zip = new ZipArchive();
        $this->ignored_names = is_array($ignored) ? $ignored : $ignored ? array($ignored) : array();
        if ($this->zip->open($file, ZIPARCHIVE::CREATE)!==TRUE) {
            throw new Exception("cannot open <$file>\n");
        }
        $folder = substr($folder, -1) == '/' ? substr($folder, 0, strlen($folder)-1) : $folder;
        if(strstr($folder, '/')) {
            $this->root = substr($folder, 0, strrpos($folder, '/')+1);
            $folder = substr($folder, strrpos($folder, '/')+1);
        }
        $this->zip($folder);
        $this->zip->close();
    }
   
    function zip($folder, $parent=null) {
        $full_path = $this->root.$parent.$folder;
        $zip_path = $parent.$folder;
        $this->zip->addEmptyDir($zip_path);
        $dir = new DirectoryIterator($full_path);
        foreach($dir as $file) {
            if(!$file->isDot()) {
                $filename = $file->getFilename();
                if(!in_array($filename, $this->ignored_names)) {
                    if($file->isDir()) {
                        $this->zip($filename, $zip_path.'/');
                    }
                    else {
                        $this->zip->addFile($full_path.'/'.$filename, $zip_path.'/'.$filename);
                    }
                }
            }
        }
    }
}
// full path used to demonstrate it's root-path stripping ability
$zip = new ZipFolder('/tmp/test.zip', dirname(__FILE__).'/templates/', '.svn');
?>

Zipper un dossier

par jc9123 » 29 juin 2009, 16:01

Salut,

Je suis entrain de créer un script php qui créer une archive zip.
Pour lui ajouter des fichiers j'utilise la doc PHP mais je dois aussi zipper un dossier de 100 fichiers.

Je suis donc a la recherche d'un script PHP qui zip un dossier avec ses fichiers.

Merci d'avance