Zip-formatet er et felles verktøy med en rekke bruksområder . Det kan ta en hel katalog med filer og pakke dem inn i en enkelt fil . I tillegg komprimerer den filene , sparer plass og gjør det enklere å distribuere over Internett . PHP -versjoner senere enn 4 kommer med direkte støtte for å opprette , redigere og åpne zip -arkiver. Imidlertid må det støtte være aktivert for din versjon av PHP. Din vert operativsystem samt din versjon bestemme hvordan du lager skript . Krav
p Hvis du bruker PHP 4 , trenger du en kopi av ZZIPlib , versjon 0.10.6 eller nyere . Denne gratis bibliotek blir vedlikeholdt av Guido Draheim . Hvis du bruker PHP 5.2.0 eller nyere , trenger du en kopi av zlib vedlikeholdt av Jean -Loup Gailly og Mark Adler. Enhver versjon er akseptabelt .
Installasjon
Zip -støtte innebygget i PHP, men du kanskje må aktivere det. På Windows-maskiner , åpne " php.ini " konfigurasjonsfil i en teksteditor og sette " php_zip.dll " som aktivert. På Linux-maskiner , sikre at " - enable- zip" konfigurasjon alternativet ble slått på når du kompilert PHP. Du må kanskje rekompilere PHP hvis det ikke er slått på for din installasjon.
Zipping filer
Følgende skript , tatt med noen modifikasjoner , fra PHP zip bibliotek manuell , skaper en zip -fil og legger to filer til arkivet : en
< php
$ zip = new ZipArchive ();
$ filename = ? " ./test112.zip ";
if ( $ zip - > open ( $ filnavn , ZIPARCHIVE :: CREATE ) == TRUE ! ) {
exit ( " kan ikke åpne
utpakking filer
Følgende skript , tatt fra PHP Zip biblioteket manuell , unzips en zip-fil og sender innholdet til standard ut .
< ? php
$ zip = zip_open ("/tmp/test2.zip ");
if ( $ zip ) {
while ( $ zip_entry = zip_read ( $ zip ) ) {
echo "Name : " zip_entry_name ( $ zip_entry ) "\\ n";
echo " Faktisk Filstørrelse : " . . . . zip_entry_filesize ( $ zip_entry ) "\\ n" ;
echo "Komprimert størrelse: " zip_entry_compressedsize ( $ zip_entry ) "\\ n";
echo " Compression Metode : " . . . . zip_entry_compressionmethod ( $ zip_entry ) "\\ n" ;
if ( zip_entry_open ( $ zip , $ zip_entry , "r ")) {
ekko "File Innhold: \\ 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 );
}
>