Uporaba funkcije PHP zip brez exec
Na naših strežnikih je funkcija PHP exec izklopljena, glejte Varnost PHP: onemogočene funkcije. Zato programov zip in unzip na strežniku ne morete klicati. To tudi ni potrebno: PHP ima lasten razred ZipArchive. Z njim ustvarite datoteke zip in jih razpakirate.
Ustvarjanje datoteke zip
To kodo shranite kot testzip.php, na primer v public_html, in datoteko odprite v brskalniku:
<?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();
Razpakiranje datoteke zip
<?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';
}
Ne deluje? V Select PHP version preverite, ali je razširitev zip vklopljena. Ko končate, testni skript izbrišite.
Želite le razpakirati datoteko zip, ki ste jo sami naložili? To lahko storite tudi brez kode v upravitelju datotek (File Manager), glejte Želim naložiti in razpakirati datoteko zip.
Podrobna razlaga s posnetki zaslona: Vklop in izklop razširitev PHP v priročniku za DirectAdmin.
