PHP:n zip-funktion käyttö ilman exec-funktiota
PHP:n funktio exec on poistettu käytöstä palvelimillamme, katso PHP-tietoturva: käytöstä poistetut funktiot. Et siis voi kutsua palvelimen zip- ja unzip-ohjelmia. Sitä ei tarvitakaan: PHP:ssä on oma ZipArchive-luokka. Sillä luot zip-tiedostoja ja purat niitä.
Zip-tiedoston luominen
Tallenna tämä koodi nimellä testzip.php, esimerkiksi public_html-kansioon, ja avaa tiedosto selaimessa:
<?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();
Zip-tiedoston purkaminen
<?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';
}
Eikö toimi? Tarkista Select PHP version -kohdasta, että zip-laajennus on käytössä. Poista testiskripti, kun olet valmis.
Haluatko vain purkaa itse lataamasi zip-tiedoston? Sen voi tehdä myös ilman koodia tiedostonhallinnassa, katso Haluan ladata ja purkaa zip-tiedoston.
Laajempi ohje kuvakaappauksineen: PHP-laajennusten ottaminen käyttöön ja poistaminen käytöstä DirectAdmin-oppaassa.
