Kreirajte Zip fajl uz pomoć PHP-a
17.07.2009 by: OmegaPravljenje .ZIP arhive uz pomoć PHPa je jednako prosto kao pravljenje zip arhive na desktopu. Ugrađena PHP-ova ZIP klasa omogućava nam ovu funkcionalnost! Ispod se nalazi kod jednostavne create_zip funkcije koju možete koristiti na vašim projektima.
/* funkcija koja kreira zip fajl */
function create_zip($files = array(),$destination = '',$overwrite = false) {
//ako zip fajl vec postoji i overwrite je false, vratio false
if(file_exists($destination) && !$overwrite) { return false; }
//promjenjive
$valid_files = array();
//ukoliko su proslijedjeni fajlovi...
if(is_array($files)) {
//prodji kroz listu fajlova
foreach($files as $file) {
//uvjeravamo se da fajl postoji
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
//ako su fajlovi ok...
if(count($valid_files)) {
//kreiramo arhivu
$zip = new ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
//dodajemo fajlove
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}
//debug
//echo 'zip arhiva sadrzi ',$zip->numFiles,' fajlova sa statusom ',$zip->status;
//zatvaramo zip fajl - kraj!
$zip->close();
//provjeravamo da li je fajl upisan
return file_exists($destination);
}
else
{
return false;
}
}
Upotreba
$fajlovi_za_zipovanje = array( 'images/1.jpg', 'images/2.jpg', 'images/5.jpg', 'nekifolder/ringo.gif', 'wordowfajl.doc', 'josjedan.doc' ); //Ako je rezultat funkcije true sve je proslo ok, a ako je false kreiranje zip fajla nije uspjelo $rezultat = create_zip($files_to_zip,'neka-arhiva.zip');
|
|
|
|
|
![]() |






