Nwlapcug.com


Script PHP per i file Zip

Il formato zip è uno strumento comune con una varietà di usi. Può prendere un'intera directory di file e impacchettarli in un unico file. Inoltre, consente di comprimere i file, risparmiando spazio e rendendolo più facile da distribuire su Internet. Versioni di PHP entro 4 sono dotate di supporto diretto per la creazione, modifica e archivi zip di apertura. Tuttavia, tale supporto deve essere abilitato per la versione di PHP. Sistema operativo host, nonché la versione determina come creare gli script.

Requisiti

Se si utilizza PHP 4, avete bisogno di una copia di ZZIPlib, versione 0.10.6 o versione successiva. Questa libreria gratuita è gestita da Guido Draheim. Se si utilizza PHP 5.2.0 o più tardi, avete bisogno di una copia di zlib mantenuto da Jean-loup Gailly e Mark Adler. Qualsiasi versione è accettabile.

Installazione

Supporto zip è costruito in PHP, ma potrebbe essere necessario abilitarlo. Sui computer Windows, aprire il file di configurazione "php. ini" in un editor di testo e impostare "php_zip" come abilitato. Su computer Linux, assicurarsi che l'opzione di configurazione "- enable - zip" era acceso quando si compila il PHP. Potrebbe essere necessario ricompilare PHP se non è attivato per l'installazione.

Zippare file

Lo script seguente, preso con alcune modifiche, dal manuale della libreria PHP Zip, crea un file zip e aggiunge due file per l'archivio:

<? php

$zip = nuovo ZipArchive();

$filename = ". / test112.zip";

Se ($zip -> Apri ($filename, ZIPARCHIVE::CREATE)! = = TRUE) {

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

}

$zip -> addFile('filename.001');

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

$zip -> Close ();

? >

Decomprimere i file

Lo script seguente, tratto dalla libreria PHP Zip manuale, si decomprime un file zippato e output sullo standard output il suo contenuto.

<? php

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

Se ($zip) {

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

echo "Name: " . zip_entry_name($zip_entry) . "\n";

echo "Actual Filesize: " . zip_entry_filesize($zip_entry) . "\n";

echo "Compressed Size: " . zip_entry_compressedsize($zip_entry) . "\n";

echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

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

echo "File Contents:\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);

}

? >