PHP og hvordan man udpakker et ZIP-arkiv
Webbureau » Digitale nyheder » PHP: hvordan man dekomprimerer et ZIP-arkiv

PHP: hvordan man dekomprimerer et ZIP-arkiv

Udpak et ZIP-arkiv

I dag, når du søger efter, hvordan man dekomprimerer et ZIP-arkiv i PHP i Google, finder du i første position udtræksfunktionerne i PECL-biblioteket. Men er det ikke muligt at dekomprimere dette standardformat uden at skulle gennem et tredjepartsbibliotek? Om ! Det er denne løsning, jeg anbefaler dig. Og dette af en lang række årsager:

  • Ingen yderligere biblioteker.
  • Funktionalitet allerede integreret.
  • Fælles funktionalitet på alle platforme med PHP 4 >= 4.1.0 eller PHP 5 >= 5.1.0
  • Nem at installere takket være apt-get til Linux-brugere eller takket være de forskellige tutorials til andre platforme.
  • Begræns koderedundans, fordi det skal siges, PECL API kan være lettere at forstå koden, som vi vil sige "lavt niveau" er den samme, uanset om vi går gennem native PHP eller af 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
funktion unzip($path_zip, $tmp_folder = "/tmp/")
{
$alle_filer = matrix();
$zip = zip_open($path_zip);
if ($zip) {
$stream = zip_read($zip);
mens ($stream) {
var_dump($zip_navn);
$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, sand);
$fp = fopen($path_file_unzip, "w");
array_push($alle_filer, $sti_fil_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);
}
afkast $alle_filer;
}

★ ★ ★ ★ ★