Le script PHP Zip Files

Le format zip est un outil commun avec une variété d'utilisations. Il peut prendre un répertoire entier de fichiers et de les regrouper en un seul fichier. En outre, il compresse les fichiers, un gain de place et de le rendre plus aisée la distribution sur Internet. les versions de PHP au plus tard 4 viennent avec le soutien direct pour la création, l'édition et l'ouverture zip archives. Toutefois, ce soutien doit être activé pour votre version de PHP. Votre système d'exploitation hôte, ainsi que votre version déterminent la façon dont vous créez les scripts.

Exigences

Si vous utilisez PHP 4, vous avez besoin d'une copie de la ZZIPlib, la version 0.10.6 ou plus tard. Cette bibliothèque libre est maintenue par Guido Draheim. Si vous utilisez PHP 5.2.0 ou plus tard, vous avez besoin d'une copie de zlib maintenu par Jean-loup Gailly et Mark Adler. Toute version est acceptable.

Installation

support Zip est intégré dans PHP, mais vous devrez peut-être activer. Sur les ordinateurs Windows, ouvrez le fichier de configuration "php.ini" dans un éditeur de texte et définissez "php_zip.dll" comme activé. Sur les ordinateurs Linux, vérifiez que l'option de configuration "--enable-zip" a été activé lorsque vous avez compilé PHP. Vous devrez peut-être recompiler PHP si elle est pas activée pour votre installation.

fichiers Zipping

Le script suivant, pris avec quelques modifications, à partir du manuel de la bibliothèque PHP Zip, crée un fichier zip et ajoute deux fichiers à l'archive:

<? Php

$ zip = new ZipArchive ();

$ Filename = "./test112.zip";

if ($ Zip-> open ($ filename, ZIPARCHIVE :: CREATE)! == TRUE) {

exit("cannot open &lt;$filename>\n");

}

Zip- $> addFile ( 'nomfichier.001');

Zip- $> addFile ( 'filename.002');

Zip- $> close ();

?>

fichiers Unzipping

Le script suivant, tiré du manuel de la bibliothèque PHP Zip, décompresse un fichier compressé et délivre son contenu à la sortie standard.

<? Php

$ Zip = zip_open ( "/ tmp / test2.zip");

if ($ zip) {

while ($zip_entry = zip_read($zip)) {

echo "Nom:". zip_entry_name (zip_entry $). "\ N";

echo "Taille réelle:". zip_entry_filesize (zip_entry $). "\ N";

echo "Taille compressée:". zip_entry_compressedsize (zip_entry $). "\ N";

echo "Méthode de compression:". zip_entry_compressionmethod (zip_entry $). "\ N";

if (zip_entry_open (zip $, zip_entry $, "r")) {

echo "Contenu du fichier: \ n";

$ Buf = zip_entry_read (zip_entry $, zip_entry_filesize (zip_entry $));

echo "$ buf \ n";

zip_entry_close (zip_entry $);

}

echo "\ n";

}

zip_close (zip $);

}

?>