PHP: kako razpakirati ZIP arhiv
Razpakirajte ZIP arhiv
Ko danes v Googlu iščete, kako razpakirati arhiv ZIP v PHP, na prvem mestu najdete funkcije ekstrakcije knjižnice PECL. Toda ali ni mogoče tega standardnega formata razpakirati, ne da bi morali iti skozi knjižnico tretje osebe? ali ! To rešitev vam priporočam. In to iz več razlogov:
- Brez dodatnih knjižnic.
- Funkcionalnost je že integrirana.
- Skupna funkcionalnost na vseh platformah s PHP 4 >= 4.1.0 ali PHP 5 >= 5.1.0
- Enostaven za namestitev zahvaljujoč apt-get za uporabnike Linuxa ali zahvaljujoč različnim vadnicam za druge platforme.
- Omejite redundanco kode, ker je treba povedati, da je PECL API morda lažje razumeti kodo, za katero bomo rekli, da je "nizka raven", enaka, ne glede na to, ali uporabljamo izvorni PHP ali 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
|
funkcija unzip($path_zip, $tmp_folder = “/tmp/”)
{
$vse_datoteke = matrika();
$zip = zip_open($path_zip);
if ($zip) {
$stream = zip_read($zip);
medtem ($tok) {
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_mapa, 0777, Res);
$fp = fopen($path_file_unzip, "w");
array_push($vse_datoteke, $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($tok);
fclose($fp);
}
$stream = zip_read($zip);
}
zip_close($zip);
}
vrnitev $vse_datoteke;
}
|