PHP en hoe een ZIP-archief uit te pakken
Webbureau » Digitaal nieuws » PHP: hoe een ZIP-archief te decomprimeren

PHP: hoe een ZIP-archief te decomprimeren

Pak een ZIP-archief uit

Als u vandaag zoekt naar hoe u een ZIP-archief in PHP in Google kunt decomprimeren, vindt u in de eerste plaats de extractiefuncties van de PECL-bibliotheek. Maar is het niet mogelijk om dit standaardformaat te decomprimeren zonder een bibliotheek van derden te doorlopen? Of ! Het is deze oplossing die ik u aanbeveel. En dit om tal van redenen:

  • Geen extra bibliotheken.
  • Functionaliteit al geïntegreerd.
  • Gemeenschappelijke functionaliteit op alle platformen met PHP 4 >= 4.1.0 of PHP 5 >= 5.1.0
  • Eenvoudig te installeren dankzij apt-get voor Linux-gebruikers of dankzij de verschillende tutorials voor andere platformen.
  • Beperk coderedundantie, want het moet gezegd worden, de PECL API is misschien gemakkelijker om de code te begrijpen waarvan we zullen zeggen dat "laag niveau" hetzelfde is, of we nu via native PHP of PECL ZipArchive gaan

Script

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
functie unzip($path_zip, $tmp_folder = "/tmp/")
{
$alle_bestanden = reeks();
$zip = zip_open($path_zip);
if ($zip) {
$stream = zip_read($zip);
terwijl ($stroom) {
var_dump($zip_naam);
$zip_name = zip_entry_name($stream);
$path_file_unzip = $tmp_folder.$zip_name;
$dir_folder = substr($path_file_unzip, 0, strrpos($path_file_unzip, "/"));
mkdir($dir_map, 0777, waar);
$fp = fopen($path_file_unzip, "w");
array_push($all_files, $path_file_unzip);
if (zip_entry_open($zip, $stream, "R")) {
$buf = zip_entry_read($stream, zip_entry_filesize($stream));
fschrijven($fp, “$buff”);
zip_entry_close($stroom);
fsluiten($fp);
}
$stream = zip_read($zip);
}
zip_close($zip);
}
terugkeer $alle_bestanden;
}

★ ★ ★ ★ ★