PHP: estrarre i file da un archivio compresso in formato ZIP
PHP dispone di una classe specifica per l'estrazione dei file da un file compresso in formato ZIP.
PHP dispone di una classe specifica per l'estrazione dei file da un file compresso in formato ZIP.
La classe ZipArchive estrae tutti i file presenti in un archivio ZIP in una directory specifica. La seguente funzione crea la directory di destinazione se questa non esiste, estrae i file in quella directory ed infine rimuove il file ZIP.
define('ABSPATH', $_SERVER['DOCUMENT_ROOT'] . '/');
function my_extract_files($filename = 'archive.zip', $dest_dir = 'archive') {
$file_path = ABSPATH . $filename;
$dest_dir_path = ABSPATH . $dest_dir;
if(!file_exists($file_path)) {
return false;
}
if(!class_exists( 'ZipArchive')) {
return false;
}
$zip = new ZipArchive;
if ($zip->open($file_path) === false) {
return false;
}
if(!file_exists($dest_dir_path)) {
mkdir($dest_dir_path, 0755);
}
if(!is_dir($dest_dir_path)) {
return false;
}
$zip->extractTo($dest_dir_path);
$zip->close();
unlink($file_path);
return true;
}
Commenti