PHP e come decomprimere un archivio ZIP
Agenzia web » Notizie digitali » PHP: come decomprimere un archivio ZIP

PHP: come decomprimere un archivio ZIP

Decomprimere un archivio ZIP

Oggi, quando cerchi su Google come decomprimere un archivio ZIP in PHP, trovi in ​​prima posizione le funzioni di estrazione della libreria PECL. Ma non è possibile decomprimere questo formato standard senza dover passare attraverso una libreria di terze parti? Se ! È questa soluzione che ti consiglio. E questo per una moltitudine di ragioni:

  • Nessuna libreria aggiuntiva.
  • Funzionalità già integrate.
  • Funzionalità comune su tutte le piattaforme con PHP 4 >= 4.1.0 o PHP 5 >= 5.1.0
  • Facile da installare grazie ad apt-get per utenti Linux o grazie ai vari tutorial per altre piattaforme.
  • Limita la ridondanza del codice perché va detto, l'API PECL può essere più facile da capire il codice che diremo "basso livello" è lo stesso, sia che passiamo tramite PHP nativo o tramite PECL ZipArchive

Copione

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function decomprimere($percorso_zip, $tmp_folder = “/tmp/”)
{
$tutti_file = schieramento();
$zip = zip_open($percorso_zip);
if ($zip) {
$stream = zip_read($zip);
while ($ flusso) {
var_dump($zip_name);
$zip_name = zip_entry_name($stream);
$percorso_file_unzip = $cartella_tmp.$nome_zip;
$dir_folder = substr($percorso_file_unzip, 0, strrpos($percorso_file_unzip, "/"));
mkdir($dir_cartella, 0777, vero);
$fp = fopen($percorso_file_unzip, "w");
array_push($tutti_file, $percorso_file_unzip);
if (zip_entry_open($zip, $stream, "R")) {
$buf = zip_entry_read($stream, zip_entry_filesize($stream));
fscrivi($fp, “$buffo”);
zip_entry_close($flusso);
fclose ($ fp);
}
$stream = zip_read($zip);
}
zip_chiudi($zip);
}
ritorno $tutti_file;
}

★ ★ ★ ★ ★