如果你的 PHP 沒有 ZipArchive 擴展,可以考慮使用第三方的 PHP 壓縮/解壓庫,例如 PclZip。
PclZip 是一個純 PHP 實現的 ZIP 壓縮/解壓庫,使用起來比較簡單。你需要先下載 PclZip,然後在代碼中引入庫文件:
require_once('path/to/pclzip.lib.php');PclZip 是 PHP 的一個開源壓縮文件操作庫,可以用來創建、讀取和解壓縮 ZIP 壓縮文件。你可以從 PclZip 的官方網站 http://www.phpconcept.net/pclzip/ 下載最新版本的代碼庫。
下載完 PclZip 後,你需要將其解壓到你的項目目錄中,然後通過 include 或者 require 命令來加載庫中的文件。
下載:
composer require pclzip/pclzip函數例子
function downloadAndExtract($installDir, $remoteZipUrl) {
// 下載遠程 Zip 文件並保存到本地
$tempZip = tempnam(sys_get_temp_dir(), 'download_');
$fp = fopen($tempZip, 'w');
$ch = curl_init($remoteZipUrl);
curl_setopt($ch, CURLOPT_FILE, $fp);
$success = curl_exec($ch);
curl_close($ch);
fclose($fp);
if (!$success) {
throw new Exception('Failed to download the remote ZIP file.');
}
// 解壓縮文件到指定目錄
$zip = new PclZip($tempZip);
if ($zip->extract(PCLZIP_OPT_PATH, $installDir) === 0) {
throw new Exception('Failed to extract the ZIP file.');
}
// 刪除臨時文件和 install 目錄下的所有文件
unlink($tempZip);
$files = glob($installDir . '/*');
foreach ($files as $file) {
if (is_file($file)) {
unlink($file);
}
}
}