PHP: hogyan lehet kicsomagolni egy ZIP archívumot
Csomagolja ki a ZIP archívumot
Ma, amikor azt keresi, hogyan lehet kicsomagolni egy ZIP-archívumot PHP-ben a Google-ban, az első helyen a PECL könyvtár kibontási funkcióit találja. De nem lehetséges-e kicsomagolni ezt a szabványos formátumot anélkül, hogy át kellene mennie egy harmadik féltől származó könyvtáron? Akár ! Ezt a megoldást ajánlom Önnek. És ennek több oka is van:
- Nincsenek további könyvtárak.
- A funkcionalitás már integrálva.
- Közös funkcionalitás minden olyan platformon, ahol PHP 4 >= 4.1.0 vagy PHP 5 >= 5.1.0
- Könnyen telepíthető az apt-getnek köszönhetően Linux-felhasználóknak, vagy a különféle oktatóanyagoknak köszönhetően más platformokon.
- Korlátozza a kódredundanciát, mert azt kell mondani, hogy a PECL API könnyebben megértheti azt a kódot, amelyről azt mondjuk, hogy "alacsony szint" ugyanaz, akár natív PHP-n megyünk keresztül, akár PECL ZipArchive-on keresztül.
Forgatókönyv
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
|
funkció cipzárat kinyit($path_zip, $tmp_folder = "/tmp/")
{
$all_files = sor,
$zip = zip_open($elérési_zip);
if ($zip) {
$folyam = zip_read($zip);
míg ($folyam) {
var_dump($zip_name);
$zip_name = zip_bejegyzés_neve($folyam);
$elérési_fájl_unzip = $tmp_mappa.$zip_neve;
$dir_folder = substr($path_file_unzip, 0, strrpos($path_file_unzip, "/"));
mkdir($dir_mappa, 0777, igaz);
$fp = fopen($path_file_unzip, "w");
array_push($összes_fájl, $elérési_fájl_kicsomagolás);
if (zip_entry_open($zip, $stream, "r")) {
$buf = zip_entry_read($stream, zip_entry_filesize($stream));
fwrite($fp, "$buff");
zip_entry_close($folyam);
fclose($fp);
}
$folyam = zip_read($zip);
}
zip_close($zip);
}
visszatérés $összes_fájl;
}
|