Използване на PHP zip функцията без exec
На нашите сървъри PHP функцията exec е изключена, вижте PHP сигурност: деактивирани функции. Затова не можете да извиквате програмите zip и unzip на сървъра. Това обаче не е необходимо: PHP разполага със собствен клас ZipArchive. С него можете да създавате zip файлове и да ги разархивирате.
Създаване на zip файл
Запазете този код като testzip.php, например в public_html, и отворете файла във Вашия браузър:
<?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 файл
<?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';
}
Не работи? Тогава проверете в Select PHP version дали разширението zip е включено. Изтрийте тестовия скрипт, когато приключите.
Искате само да разархивирате zip файл, който сте качили сами? Това е възможно и без код във File Manager, вижте Искам да кача и разархивирам zip файл.
Подробно обяснение с екранни снимки: Включване и изключване на PHP разширения в ръководството за DirectAdmin.
