IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Zip] Compression de répertoires


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut [Zip] Compression de répertoires
    Bonjour

    voila j'ai donc vu le une class zip mais il ne permet que de compresser 1 fichier
    apres plusieurs recherches vaine
    quelqu'un aurait un autre script ??


    d'avance merci

  2. #2
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657

  3. #3
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut j'ai rien compris
    C'est quoi ta demande? Compresser plusieurs fichiers dans une archive ZIP?

  4. #4
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    compresser un dossier qui contient des sous dossiers et des ti fichiers dedans

    sur free est installé bz2 et zlib ya une préférence pour l'un ou l'autre ?

  5. #5
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut c'est très simple
    Regarde ce code, je l'ai écrit pour un ouvrage qui sortira (en principe) en janvier, il explique comment ajouter des fichiers à une archive ZIP.

    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
    <?php
    // On crée une instance de la classe ZipArchive
    $zip = new ZipArchive;
     
    // On crée une archive ZIP si elle n'existe pas (ZIPARCHIVE::CREATE)
    // mixed ZipArchive::open ( string filename [, int flags] )
    if ($zip->open('./fichiers/exemple.zip', ZIPARCHIVE::CREATE) === TRUE) {
        // On y insère le fichier exemple.txt
        $zip->addFile('./fichiers/exemple.txt', 'exemple.txt');
     
        // ainsi que le fichier exemple.bz2
        // bool ZipArchive::addFile ( string filename [, string localname] )
        $zip->addFile('./fichiers/exemple.bz2', 'exemple.bz2');
     
        // Et on ferme le fichier
        $zip->close();
     
        // Et voilà, c'est aussi simple que ça...
        echo 'ok';
    } else {
        echo 'échec';
    }
    ?>

  6. #6
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    bon il me dit que j'ai un probleme de parenthe sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($zip->open('./fichiers/exemple.zip', ZIPARCHIVE::CREATE) === TRUE) {

  7. #7
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut difficile de t'aider
    Il faudrait que tu sois plus précis. C'est quoi le problème: un message d'erreur? Si oui, poste le. Quel résultat obtiens-tu quand tu exécute le script? L'as-tu adapté à ton arborescence?

  8. #8
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	//Espace ZipArchive
    	$zip = new ZipArchive();
    	$fileZip='EspaceClient/essai.zip';
     
    	if($zip->open($filezip,ZIPARCHIVE::CREATE)===TRUE){
    		$zip->addFile('doc/dossier.class.pdf', 'dossier.class.pdf');
     
    		$zip->close();
    		echo'ok';
    	}else{
    		echo'echec';
    	}
    Parse error: parse error, expecting `'('' in d:\projet\site web & intranet\karkam.fr\admin\siteweb\graphic.php on line 42

  9. #9
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    Au fait, c'est franchement plus simple de faire une tarball dans le cas de la compression d'un simple repertoire, dans un format a sources ouvertes donc compatible avec tout les winzips et co.
    Il s'agit de :
    tar cvjf NomArchive.tar.bz2 Dossier1 Fichier2 Dossier3 etc ...

  10. #10
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut relis sa demande
    Citation Envoyé par is_null Voir le message
    Au fait, c'est franchement plus simple de faire une tarball dans le cas de la compression d'un simple repertoire, dans un format a sources ouvertes donc compatible avec tout les winzips et co.
    Il s'agit de :
    tar cvjf NomArchive.tar.bz2 Dossier1 Fichier2 Dossier3 etc ...

    Moi, il me demande un script, je lui donne un script. Je suis pas contraignant comme garçon... quoique


    De plus, ceci concernerait un post posté sur un sous-forum Linux par sur un sous-forum PHP. Ha ha ha sacré is_null

  11. #11
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    oui j'ai bien demandé un script et je voudrais bien utilisé un script

    parce que j'ai un probleme avec mon header et je voudrais le régler

    et comme je vais utiliser un script pour le pdf et pour le zip

  12. #12
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    pour ce tar ??
    j'ai essayer comment faut'il sy prendre ??
    en l'incluant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $$command="tar cvf  site.zip Client/temp";
    system($command);
    ??

    j'ai ce dossier 'temp' a zipper et a envoyer en téléchargement

    j'ai pas trouver trop de chose sur tar ( a part ds environnement linux)



    je trime trop sur la comrpession

    il aime pas ce
    ZIP::CREATE

  13. #13
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut erreurs
    Déjà, tu as deux $ devant commande dans sa définition.

    Ensuite, ce n'est pas ZIP::CREATE mais ZIPARCHIVE::CREATE

    Enfin, si ce n'est déjà fait, exécute un phpinfo() sur le serveur pour t'assurer que l'extension ZIP est bien reconnue.

  14. #14
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    En fait, pour une documentation aussi complête que rébarbative : http://man.developpez.com/man1/tar.1.php
    Néanmoins, la ligne de commande devrait fonctionner, tu peux ajouter un v pour verbose aux options, la tester en console sur le serveur, et tu préferera probablement l'executer dans des backtips ou avec shell_exec() car ainsi tu pourras acceder la sortie en valeur de retour au lieu de l'afficher directement comme avec system()

    Sinon, en tant qu'algo de compression a sources ouvertes, tout les décompresseurs savent l'extraire.
    Note que l'option j permet de faire un tarball (archive) avec bunzip2, qui offre entre autre, une meilleure compression pour le texte que gzip. Gzip qui est utilisable avec l'option z au lieu de j. Enfin, tu peux n'utiliser ni z ni j et faire une tarball avec des fichiers non-compressés. A toi de faire tes tests et de voir ce qui va le mieux, z sera plus rapide tandis que j compressera plus.

    David : je donne une solution contraignante car je suis un très, très vilain troll. D'un autre coté je ne force personne à préférer forcer les visiteurs à l'usage d'un décompresseur à sources fermées, moi . Pense aux 99% de visiteurs : ils sont sous linux ! Serieusement : je trouve que cette solution est viable sur un serveur linux, moins serieusement : je tranchera la tête de ceux qui refusent l'imperialisme de tar, comme le suggère mon petit avatar.

  15. #15
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut
    Citation Envoyé par is_null Voir le message
    David : je donne une solution contraignante car je suis un très, très vilain troll. D'un autre coté je ne force personne à préférer forcer les visiteurs à l'usage d'un décompresseur à sources fermées, moi . Pense aux 99% de visiteurs : ils sont sous linux ! Serieusement : je trouve que cette solution est viable sur un serveur linux, moins serieusement : je tranchera la tête de ceux qui refusent l'imperialisme de tar, comme le suggère mon petit avatar.
    Sacré is_null, toujours aussi extrémiste dans tes propos

  16. #16
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    ah oui mais si il faut passer par la

    ça sera pas la premiere lecture indigeste...

    ah les erreurs c parce que j'ai écris ça un peu vite....dsl

    j'avais fait un phpinfo() dans mon 2nd post pour dire que les librairies sur le serveur free zlib et bz2 était enabled

  17. #17
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    Zlib est une extension pour faire des archives avec gzip en PHP.
    De meme, bz2 sert a faire de la compression bz2 en PHP.
    Zip est l'extension requise pour faire des archives WinZip (tm) en PHP.

    tar est une commande probablement disponnible sur tout les serveurs linux, elle requiert que gzip et bunzip2 soient installes aussi, c'est d'ailleurs probablement le cas. Il n'y a pas besoin d'extension PHP pour l'utiliser en CLI (Command Line Interface) : par exemple avec shell_exec().

Discussions similaires

  1. [PHP 5.0] Compression de répertoire avec bibliothèque ZIP
    Par keaton7 dans le forum Langage
    Réponses: 7
    Dernier message: 03/03/2009, 13h28
  2. Compression de répertoire
    Par pi100 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 09/07/2007, 16h32
  3. zlib compression de répertoires
    Par pada51 dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 26/06/2007, 09h30
  4. [VBS] Compresser un répertoire ou un fichier en vbs
    Par Edoxituz dans le forum VBScript
    Réponses: 2
    Dernier message: 28/02/2006, 11h17
  5. [Zip] Compression ZIP d'un dossier
    Par alex.hitman dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 27/10/2005, 23h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo