PHP og hvordan pakke ut et ZIP-arkiv
Webbyrå » Digitale nyheter » PHP: hvordan dekomprimere et ZIP-arkiv

PHP: hvordan dekomprimere et ZIP-arkiv

Pakk ut et ZIP-arkiv

I dag, når du søker etter hvordan du kan dekomprimere et ZIP-arkiv i PHP i Google, finner du i første posisjon uttrekksfunksjonene til PECL-biblioteket. Men er det ikke mulig å dekomprimere dette standardformatet uten å måtte gå gjennom et tredjepartsbibliotek? Enten ! Det er denne løsningen jeg anbefaler deg. Og dette av en rekke grunner:

  • Ingen ekstra biblioteker.
  • Funksjonalitet allerede integrert.
  • Felles funksjonalitet på alle plattformer med PHP 4 >= 4.1.0 eller PHP 5 >= 5.1.0
  • Enkel å installere takket være apt-get for Linux-brukere eller takket være de forskjellige veiledningene for andre plattformer.
  • Begrens koderedundans fordi det må sies, PECL API kan være lettere å forstå koden som vi vil si "lavt nivå" er den samme, enten vi går gjennom native PHP eller av PECL ZipArchive

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
funksjon pakk($path_zip, $tmp_folder = "/tmp/")
{
$alle_filer = matrise();
$zip = zip_open($path_zip);
if ($zip) {
$stream = zip_read($zip);
mens ($stream) {
var_dump($zipnavn);
$zip_name = zip_entry_name($stream);
$path_file_unzip = $tmp_mappe.$zip_navn;
$dir_mappe = substr($path_file_unzip, 0, strrpos($path_file_unzip, "/"));
mkdir($dir_mappe, 0777, sant);
$fp = fopen($path_file_unzip, "w");
array_push($alle_filer, $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);
}
retur $alle_filer;
}

★ ★ ★ ★ ★