The Script PHP per file zip

August 23

Il formato zip è uno strumento comune con una varietà di usi. Si può prendere un intero elenco di file e raggruppare in un unico file. Inoltre, comprime i file, risparmiando spazio e rendendo più facile per distribuire su Internet. Le versioni di PHP più tardi di 4 sono dotati di supporto diretto per la creazione di archivi, la modifica e l'apertura zip. Tuttavia, che il sostegno deve essere abilitato per la versione di PHP. Il sistema operativo host, così come la versione determinano come si creano gli script.

Requisiti

Se si utilizza PHP 4, hai bisogno di una copia della ZZIPlib, la versione 0.10.6 o successiva. Questa libreria gratuita è gestito da Guido Draheim. Se si sta utilizzando PHP 5.2.0 o successivo, è necessario una copia di zlib gestito da Jean-loup Gailly e Mark Adler. Qualsiasi versione è accettabile.

Installazione

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

I file Zipping

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

<? Php

$ Zip = new ZipArchive ();

$ Nomefile = "./test112.zip";

if ($ archivio zip> open ($ filename, ZipArchive :: CREATE)! == true) {

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

}

$ Archivio zip> addfile ( 'filename.001');

$ Archivio zip> addfile ( 'filename.002');

$ Archivio zip> close ();

?>

I file Unzipping

Il seguente script, tratto dal manuale di libreria PHP Zip, decomprime un file zippato ed emette il suo contenuto sullo standard output.

<? Php

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

if ($ zip) {

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

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

echo "Le dimensioni effettive:". zip_entry_filesize ($ zip_entry). "\ N";

echo "compressa Dimensioni:". zip_entry_compressedsize ($ zip_entry). "\ N";

echo "Metodo di compressione:". zip_entry_compressionmethod ($ zip_entry). "\ N";

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

echo "Contenuto del file: \ 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);

}

?>