Použitie funkcie PHP zip bez exec
Na našich serveroch je PHP funkcia exec vypnutá, pozrite si Zabezpečenie PHP: vypnuté funkcie. Programy zip a unzip na serveri preto nemôžete spúšťať. Nie je to však potrebné: PHP má vlastnú triedu ZipArchive. Pomocou nej môžete vytvárať zip súbory a rozbaľovať ich.
Vytvorenie zip súboru
Uložte tento kód ako testzip.php, napríklad do priečinka public_html, a otvorte súbor vo svojom prehliadači:
<?php
$zip = new ZipArchive();
$bestand = __DIR__ . '/test.zip';
if ($zip->open($bestand, ZipArchive::CREATE) !== true) {
exit("Het lukt niet om $bestand te openen. Heeft de map schrijfrechten?");
}
$zip->addFile(__DIR__ . '/testzip.php', 'testzip.php');
echo 'Aantal bestanden in de zip: ' . $zip->numFiles;
$zip->close();
Rozbalenie zip súboru
<?php
$zip = new ZipArchive();
if ($zip->open(__DIR__ . '/test.zip') === true) {
$zip->extractTo(__DIR__ . '/uitgepakt');
$zip->close();
echo 'Uitgepakt';
} else {
echo 'Het zip-bestand kon niet worden geopend';
}
Nefunguje to? Skontrolujte v časti Select PHP version, či je zapnuté rozšírenie zip. Po dokončení testovací skript odstráňte.
Chcete iba rozbaliť zip súbor, ktorý ste sami nahrali? To môžete urobiť aj bez kódu v Správcovi súborov, pozrite si Chcem nahrať a rozbaliť zip súbor.
Podrobný návod so snímkami obrazovky: Zapnutie a vypnutie PHP rozšírení v príručke k DirectAdmin.
