PHP dhe si të hapni një arkiv ZIP
Ueb agjenci » Lajme dixhitale » PHP: si të dekompresoni një arkiv ZIP

PHP: si të dekompresoni një arkiv ZIP

Zhzip një arkiv ZIP

Sot, kur kërkoni se si të dekompresoni një arkiv ZIP në PHP në Google, gjeni në pozicionin e parë funksionet e nxjerrjes së bibliotekës PECL. Por a nuk është e mundur të dekompresoni këtë format standard pa pasur nevojë të kaloni nëpër një bibliotekë të palëve të treta? Nëse ! Është kjo zgjidhje që unë ju rekomandoj. Dhe kjo për një sërë arsyesh:

  • Nuk ka biblioteka shtesë.
  • Funksionaliteti tashmë është i integruar.
  • Funksionaliteti i përbashkët në të gjitha platformat me PHP 4 >= 4.1.0 ose PHP 5 >= 5.1.0
  • Lehtë për t'u instaluar falë apt-get për përdoruesit e Linux ose falë udhëzimeve të ndryshme për platforma të tjera.
  • Kufizoni tepricën e kodit sepse duhet thënë se API PECL mund të jetë më e lehtë për të kuptuar kodin që do të themi "nivel i ulët" është i njëjtë, pavarësisht nëse kalojmë përmes PHP-së amtare ose PECL ZipArchive

Dorëshkrim

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
funksion hap zinxhirin($path_zip, $tmp_folder = “/tmp/”)
{
$all_files = grup();
$zip = zip_open ($rruga_zip);
if ($zip) {
$stream = zip_lexo ($zip);
ndërsa ($stream) {
var_dump ($zip_name);
$zip_name = zip_entry_emri ($stream);
$path_file_unzip = $tmp_folder.$zip_name;
$dir_folder = substr($path_file_unzip, 0, strrpos($path_file_unzip, "/"));
mkdir($dir_folder, 0777, i vërtetë);
$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 ($stream);
fclose ($fp);
}
$stream = zip_lexo ($zip);
}
zip_close ($zip);
}
kthim $all_files;
}

★ ★ ★ ★ ★