Do tworzenia archiwów ZIP można wykorzystać wewnętrzną klasę PHP: ZipArchive. Na początku upewnij się, czy wersja PHP, której używasz posiada bibliotekę ZIP. Możesz to zrobić za pomocą skryptu:
1 |
<?php phpinfo(); ?> |
Korzystając z polecenia apt-get (pod systemami uniksowymi) można w błachy sposób zainstalować dowolny pakiet. Na przykład, dla wersji PHP 7.0:
1 |
sudo apt-get install php7.0-zip |
Następnie należy zrestartować serwer. W przypadku serwera Apache:
1 |
sudo service apache2 restart |
Przykład użycia klasy
1 2 3 4 5 6 7 8 9 10 11 |
<?php use ZipArchive; $zip = new ZipArchive(); $filename = 'archive.zip'; $zip->open($filename, ZipArchive::CREATE); $zip->addFile('images/example1.png'); $zip->addFile('images/example2.jpg'); // $zip->addFile ... $zip->close(); |
- $zip = new ZipArchive() – tworzymy referencję do obiektu ZipArchive, aby korzystać z argumentów i metod klasy,
- $filename = 'archive.zip’ – zapisujemy w zmiennej $filename nazwę archiwum,
- $zip->open($filename, ZipArchive::CREATE) – metoda open() otwiera nowe archiwum do odczytu, zapisu lub modyfikacji. Parametr ZipArchive::CREATE tworzy archiwum (jeśli nie istnieje),
- $zip->addFile(’path/to/file’) – dodaje plik do archiwum z podanej ścieżki,
- $zip->close() – zamyka otwarte lub utworzone archiwum i zapisuje zmiany. Ta metoda jest automatycznie wywoływana na końcu skryptu.
Na koniec uruchom skrypt w przeglądarce, a następnie przejdź do katalogu na serwerze i sprawdź czy archiwum zostało utworzone. Więcej o klasie ZipArchive poczytasz na stronie: php.net/manual/en/class.ziparchive.php