Utilizzo della funzione zip di PHP senza exec
Sui nostri server la funzione PHP exec è disattivata, veda Sicurezza PHP: funzioni disattivate. Non è quindi possibile richiamare i programmi zip e unzip del server. Ma non è nemmeno necessario: PHP dispone della classe ZipArchive. Con questa classe può creare file zip ed estrarli.
Creare un file zip
Salvi questo codice come testzip.php, ad esempio in public_html, e apra il file nel Suo browser:
<?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();
Estrarre un file 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';
}
Non funziona? Verifichi allora in Select PHP version che l'estensione zip sia attiva. Al termine, elimini lo script di prova.
Desidera soltanto estrarre un file zip che ha caricato Lei stesso? Può farlo anche senza codice in File Manager, veda Desidero caricare ed estrarre un file zip.
Spiegazione dettagliata con schermate: Attivare e disattivare le estensioni PHP nella guida di DirectAdmin.
