PHP zip-funktsiooni kasutamine ilma exec'ita
Meie serverites on PHP funktsioon exec välja lülitatud, vaata PHP turvalisus: keelatud funktsioonid. Seega ei saa sa serveris olevaid programme zip ja unzip välja kutsuda. Seda pole ka vaja: PHP-l on oma klass ZipArchive. Sellega saad zip-faile luua ja lahti pakkida.
Zip-faili loomine
Salvesta see kood nimega testzip.php, näiteks kausta public_html, ja ava fail oma brauseris:
<?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-faili lahtipakkimine
<?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';
}
Ei tööta? Siis kontrolli jaotises Select PHP version, kas laiendus zip on sisse lülitatud. Kustuta testskript, kui oled valmis.
Soovid lihtsalt lahti pakkida zip-faili, mille ise üles laadisid? Seda saab teha ka ilma koodita, failihalduris (File Manager), vaata Soovin zip-faili üles laadida ja lahti pakkida.
Põhjalik selgitus koos ekraanipiltidega: PHP laienduste sisse- ja väljalülitamine DirectAdmini juhendis.
