PHP och hur man packar upp ett ZIP-arkiv
Webbyrå » Digitala nyheter » PHP: hur man dekomprimerar ett ZIP-arkiv

PHP: hur man dekomprimerar ett ZIP-arkiv

Packa upp ett ZIP-arkiv

Idag, när du söker efter hur man dekomprimerar ett ZIP-arkiv i PHP i Google, hittar du i första position extraheringsfunktionerna i PECL-biblioteket. Men är det inte möjligt att dekomprimera detta standardformat utan att behöva gå igenom ett tredjepartsbibliotek? Huruvida ! Det är denna lösning som jag rekommenderar dig. Och detta av en mängd anledningar:

  • Inga ytterligare bibliotek.
  • Funktionalitet redan integrerad.
  • Gemensam funktionalitet på alla plattformar med PHP 4 >= 4.1.0 eller PHP 5 >= 5.1.0
  • Lätt att installera tack vare apt-get för Linux-användare eller tack vare de olika handledningarna för andra plattformar.
  • Begränsa kodredundans eftersom det måste sägas, PECL API kan vara lättare att förstå koden som vi kommer att säga "låg nivå" är densamma, oavsett om vi går igenom inbyggt 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
fungera packa($path_zip, $tmp_folder = "/tmp/")
{
$alla_filer = array();
$zip = zip_open($path_zip);
if ($zip) {
$stream = zip_read($zip);
medan ($stream) {
var_dump($zipnamn);
$zip_name = zip_entry_name($ström);
$path_file_unzip = $tmp_folder.$zip_name;
$dir_folder = substr($path_file_unzip, 0, strrpos($path_file_unzip, "/"));
mkdir($katalog_mapp, 0777, sann);
$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($ström);
fclose($fp);
}
$stream = zip_read($zip);
}
zip_close($zip);
}
avkastning $alla_filer;
}

★ ★ ★ ★ ★