PHP zip funkcijos naudojimas be exec
Mūsų serveriuose PHP funkcija exec yra išjungta, žr. PHP sauga: išjungtos funkcijos. Todėl negalite iškviesti serverio programų zip ir unzip. To ir nereikia: PHP turi savo klasę ZipArchive. Su ja galite kurti zip failus ir juos išpakuoti.
Zip failo kūrimas
Išsaugokite šį kodą kaip testzip.php, pavyzdžiui, kataloge public_html, ir atidarykite failą savo naršyklėje:
<?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 failo išpakavimas
<?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';
}
Neveikia? Tuomet skiltyje Select PHP version patikrinkite, ar įjungtas plėtinys zip. Baigę ištrinkite bandomąjį scenarijų.
Norite tik išpakuoti zip failą, kurį patys įkėlėte? Tai galima padaryti ir be kodo, naudojant failų tvarkyklę (File Manager), žr. Noriu įkelti ir išpakuoti zip failą.
Išsamus paaiškinimas su ekrano nuotraukomis: PHP plėtinių įjungimas ir išjungimas DirectAdmin vadove.
