29
nov
05

Compression zip PHP [RAPPEL]

Il y a un moment déjà j’ai été confronté à ce problème et j’avais galéré pour trouver une solution (ZIP étant un format propriétaire).

Hors la solution existe bel et bien, il s’agit d’utiliser gzip qui est un format de compression non breveté qui s’apparente à zip. Il est du coup possible de créer un fichier zip libre de droit.

Voici donc le code à utiliser trouvé sur développez.com et utilisant la librairie zip.lib.php utilisée dans PhpMyAdmin

[php]
// appel de la classe
require_once(’zip.lib.php’);
// nom du fichier à ajouter dans l’archive
$filename = ‘test.txt’;

// contenu du fichier
$fp = fopen ($filename, ‘r’);
$content = fread($fp, filesize($filename));
fclose ($fp);

// création d’un objet ‘zipfile’
$zip = new zipfile();
// ajout du fichier dans cet objet
$zip->addfile($content, $filename);
// production de l’archive’ Zip
$archive = $zip->file();

// entêtes HTTP
header(’Content-Type: application/x-zip’);
// force le téléchargement
header(’Content-Disposition: inline; filename=archive.zip’);

// envoi du fichier au navigateur
echo $archive;
[/php]


8 Réponses vers “Compression zip PHP [RAPPEL]”


  1. 1 fonx2
    décembre 1, 2005 à 21:49

    Toujours pas de billet a propos de la sortie officielle de de PandaRouge 1.5 ? une honte je vous dit….
    :-(

  2. 2 Sylvain
    décembre 1, 2005 à 22:59

    On dit “je dis” et pas “je dit”, on n’est pas sur un skyblog ici !!! ;)

    Sinon à propos de PandaRoux, ça ne sert plus à rien d’en parler tout mon entourage l’utilise et les stats de ce blog parlent pour moi :
    Firefox 70.80%
    Internet Explorer 20.35%
    Safari 6.19%

  3. 3 fonx2
    décembre 4, 2005 à 22:27

    slyblog / skyblog

    tout cela se ressemble tellement ;)

  4. 4 Sylvain
    décembre 4, 2005 à 22:48

    Mouep c’est d’un goût douteux ce jeu de mots !

  5. 5 fon2
    décembre 5, 2005 à 23:52

    ok plus de jeu de mots alors !

  6. février 13, 2006 à 23:12

    Je ne dis pas qu’il est parfois interessant de fabriquer un fichier zip, mais il ne faut pas oublier qu’Apache permet de faire des zip à la volé si le navigateur le supporte. Je ne suis pas rentré dans le détail des paramètres, mais en fonction du but à atteindre, il faut garder cette possibilité en tête.

  7. 7 MBOUHAMO
    avril 13, 2006 à 9:39

    salut a tous,

    comment faire pour enregistrer le fichier zip crée sur le repertoire courant de l’application sur le serveur? car votre solution permet le renvoi du fichier zip crée au navigateur seulement!

    cordialement,

  8. 8 Sylvain
    avril 13, 2006 à 10:00

    Je pense qu’il faudrait faire un truc dans le genre :
    file_put_contents ( $fileName, $archive);

    juste après avoir fait
    $archive = $zip->file();

    $fileName étant bien évidemment une variable qui contient le chemin et le nom du fichier à écrire. Lequel fichier étant bien évidemment accessible en écriture pour PHP.

    Pour plus d’info :
    http://fr.php.net/manual/fr/function.file-put-contents.php


Laisser un commentaire




RSS Mon microblogging …

  • Le RSA, machine à fabriquer de la précarité, par Robert Castel juin 25, 2009
    Ce disposif donne un peu plus aux pauvres mais il comporte des risques.
  • Google interdit de Chine juin 25, 2009
    Les services de Google sont inaccessibles en Chine depuis hier. Officiellement, l'enquête est en cours. Officieusement, la panne pourrait constituer la réponse des autorités chinoises aux préoccupations des Etats-Unis sur les méthodes commerciales locales.
  • Hadopi dézinguée juin 10, 2009
    C'est le journal LeMonde.fr qui vient se sortir le scoop il y a quelques minutes avec cet article le Conseil constitutionnel censure la riposte graduée. Voici le verdict du Conseil Constitutionnel : Considérant qu'"Internet est une composante de la liberté d'expression et de consommation", et qu'"en droit français c […]
  • Nicolas Hulot dénonce la possible entrée de Claude Allègre au gouvernement mai 23, 2009
    "Si Nicolas Sarkozy fait vraiment ce choix, il faudra que chacun en tire les conséquences", a estimé M. Hulot.
  • Le marché de la prestation informatique n'est pas "green" mai 20, 2009
    La déconsidération des développeurs, nouveaux ouvriers de l'ère numérique, se traduit par des systèmes d'information ingérables et inefficaces. Au final, c'est le client et la planète qui paient le prix fort. Lire la suite
  • Trop fort le T-Shirt !!!Dommage on ne peut plus le commander, mai 19, 2009
    Trop fort le T-Shirt !!!Dommage on ne peut plus le commander, je me serais bien laissé tenter :)http://jaffiche.fr/manifestation-anti-hadopi-le-25-avril-2009-306