PHP un kā izpakot ZIP arhīvu
Tīmekļa aģentūra » Digitālās ziņas » PHP: kā atspiest ZIP arhīvu

PHP: kā atspiest ZIP arhīvu

Izpakojiet ZIP arhīvu

Šodien, meklējot, kā Google programmā PHP atspiest ZIP arhīvu, pirmajā vietā atrodat PECL bibliotēkas ekstrakcijas funkcijas. Bet vai nav iespējams atspiest šo standarta formātu, neizmantojot trešās puses bibliotēku? vai ! Tieši šo risinājumu es jums iesaku. Un tas ir daudzu iemeslu dēļ:

  • Nav papildu bibliotēku.
  • Funkcionalitāte jau ir integrēta.
  • Kopīga funkcionalitāte visās platformās ar PHP 4 >= 4.1.0 vai PHP 5 >= 5.1.0
  • Viegli instalējams, pateicoties apt-get Linux lietotājiem vai dažādām pamācībām citām platformām.
  • Ierobežojiet koda dublēšanu, jo jāsaka, ka PECL API var būt vieglāk saprotams kods, par kuru mēs teiksim "zems līmenis" ir vienāds neatkarīgi no tā, vai mēs izmantojam vietējo PHP vai PECL ZipArchive.

Scenārijs

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/”)
{
$visi_faili = masīvs,
$zip = zip_open($path_zip);
if ($ zip) {
$straume = zip_read($zip);
kamēr ($straume) {
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_folder, 0777, patiess);
$fp = fopen($path_file_unzip, “w”);
masīvs_push($visi_faili, $ceļš_faila_unzip);
if (zip_entry_open($zip, $stream, "r")) {
$buf = zip_entry_read($straume, zip_entry_fileize($stream));
fwrite($fp, “$buff”);
zip_entry_close($straume);
fclose($fp);
}
$straume = zip_read($zip);
}
zip_close($zip);
}
atgriešanās $visi_faili;
}

★ ★ ★ ★ ★