Utilizarea funcției zip din PHP fără exec
Pe serverele noastre, funcția PHP exec este dezactivată, consultați Securitate PHP: funcții dezactivate. Prin urmare, nu puteți apela programele zip și unzip de pe server. Nici nu este necesar: PHP dispune de propria clasă ZipArchive. Cu aceasta puteți crea fișiere zip și le puteți dezarhiva.
Crearea unui fișier zip
Salvați acest cod ca testzip.php, de exemplu în public_html, și deschideți fișierul în browserul dumneavoastră:
<?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();
Dezarhivarea unui fișier 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';
}
Nu funcționează? Verificați atunci în Select PHP version dacă extensia zip este activată. Ștergeți scriptul de test după ce ați terminat.
Doriți doar să dezarhivați un fișier zip pe care l-ați încărcat dumneavoastră? Puteți face acest lucru și fără cod, în File Manager, consultați Doresc să încarc și să dezarhivez un fișier zip.
Explicații detaliate cu capturi de ecran: Activarea și dezactivarea extensiilor PHP în ghidul DirectAdmin.
