PHP und wie man ein ZIP-Archiv entpackt
Webagentur » Digitale Nachrichten » PHP: wie man ein ZIP-Archiv entpackt

PHP: wie man ein ZIP-Archiv entpackt

Entpacken Sie ein ZIP-Archiv

Sucht man heute in Google danach, wie man ein ZIP-Archiv in PHP entpackt, findet man an erster Stelle die Extraktionsfunktionen der PECL-Bibliothek. Aber ist es nicht möglich, dieses Standardformat zu dekomprimieren, ohne eine Bibliothek eines Drittanbieters durchlaufen zu müssen? Ob ! Diese Lösung empfehle ich Ihnen. Und das aus mehreren Gründen:

  • Keine zusätzlichen Bibliotheken.
  • Funktionalität bereits integriert.
  • Gemeinsame Funktionalität auf allen Plattformen mit PHP 4 >= 4.1.0 oder PHP 5 >= 5.1.0
  • Einfache Installation dank apt-get für Linux-Benutzer oder dank der verschiedenen Tutorials für andere Plattformen.
  • Begrenzen Sie die Coderedundanz, da gesagt werden muss, dass die PECL-API möglicherweise einfacher zu verstehen ist, dass der Code, den wir sagen, "low level" derselbe ist, unabhängig davon, ob wir durch natives PHP oder durch PECL ZipArchive gehen

Skript

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
Funktion entpacken($path_zip, $tmp_folder = „/tmp/“)
{
$all_files = Array();
$zip = zip_open($pfad_zip);
if ($zip) {
$stream = zip_read($zip);
während ($strom) {
var_dump($zip_name);
$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_folder, 0777, was immer dies auch sein sollte.);
$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));
fwrite($fp, „$buff“);
zip_entry_close($stream);
fclose($fp);
}
$stream = zip_read($zip);
}
zip_close($zip);
}
Rückkehr $alle_Dateien;
}

★ ★ ★ ★ ★