PHP: kuinka purkaa ZIP-arkisto
Pura ZIP-arkisto
Tänään, kun etsit ZIP-arkiston purkamista PHP:ssä Googlessa, löydät ensimmäisestä paikasta PECL-kirjaston purkutoiminnot. Mutta eikö tämän vakiomuodon purkaminen ole mahdollista ilman kolmannen osapuolen kirjaston läpikäymistä? onko ! Tätä ratkaisua suosittelen sinulle. Ja tämä monista syistä:
- Ei muita kirjastoja.
- Toiminnot on jo integroitu.
- Yhteinen toiminnallisuus kaikilla alustoilla, joissa PHP 4 >= 4.1.0 tai PHP 5 >= 5.1.0
- Helppo asentaa apt-get Linux-käyttäjille tai muiden alustojen erilaisten opetusohjelmien ansiosta.
- Rajoita koodin redundanssia, koska on sanottava, että PECL-sovellusliittymä voi olla helpompi ymmärtää koodia, jonka sanomme "matalaksi", käymmepä sitten alkuperäisen PHP:n tai PECL ZipArchiven kautta.
Käsikirjoitus
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
|
toiminto avata jnk vetoketju($polku_zip, $tmp_kansio = "/tmp/")
{
$kaikki_tiedostot = ryhmä();
$zip = zip_open($polku_zip);
if ($ zip) {
$virta = zip_read($zip);
vaikka ($stream) {
var_dump($zip_name);
$zip_name = zip_entry_name($stream);
$polku_tiedosto_unzip = $tmp_kansio.$zip_name;
$dir_folder = substr($path_file_unzip, 0, strrpos($path_file_unzip, "/"));
mkdir($dir_folder, 0777, totta);
$fp = fopen($path_file_unzip, "w");
array_push($kaikki_tiedostot, $polku_tiedosto_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);
}
$virta = zip_read($zip);
}
zip_close($zip);
}
palata $kaikki_tiedostot;
}
|