一、什麼是PHP Zip擴展
PHP Zip擴展是PHP內置的擴展模塊之一,它提供了在PHP應用程序中創建和解壓縮ZIP文件的功能。Zip文件格式是一種常見的文件壓縮格式,通過將多個文件打包成一個Zip文件,可以減小文件的體積,方便傳輸和存儲。
PHP Zip擴展提供了一組API,可以在PHP應用程序中動態地創建、讀取和修改Zip文件。同時,PHP Zip擴展還支持密碼保護,可以給Zip文件添加密碼保護,使得只有知道密碼的人才能解壓縮文件。
二、使用PHP Zip擴展創建Zip文件
使用PHP Zip擴展創建Zip文件,需要先調用ZipArchive類的open()方法打開一個Zip文件,然後使用addFile()方法依次添加要壓縮的文件,最後調用close()方法關閉Zip文件即可。
下面是一個創建Zip文件的例子:
/**
* 打包文件到Zip文件中
* @param string $zipFilename 壓縮後的Zip文件名
* @param array $files 要壓縮的文件列表,每個元素為一個數組,包含兩個元素:本地文件路徑和Zip文件路徑
* @param string $password Zip文件的密碼
* @return bool
*/
function zipFiles($zipFilename, $files, $password=null)
{
// 創建ZipArchive對象
$zip = new ZipArchive;
if ($zip->open($zipFilename, ZipArchive::CREATE) !== TRUE) {
return false;
}
if (!empty($password)) {
$zip->setPassword($password);
}
// 添加要壓縮的文件
foreach($files as $file) {
$localfile = $file[0];
$zipfile = $file[1];
$zip->addFile($localfile, $zipfile);
}
// 關閉Zip文件
$zip->close();
return true;
}
上面的例子中,zipFiles()函數接受3個參數:要壓縮的文件列表、壓縮後的Zip文件名和Zip文件的密碼(可選)。函數內部先創建了一個ZipArchive對象,並調用它的open()方法打開要壓縮的Zip文件。然後,使用setPassword()方法設置Zip文件的密碼(如果有的話)。接着,使用addFile()方法依次添加要壓縮的文件,每個元素包含兩個參數:本地文件路徑和Zip文件路徑。最後,調用close()方法關閉Zip文件。
三、使用PHP Zip擴展解壓縮Zip文件
使用PHP Zip擴展解壓縮Zip文件,需要先調用ZipArchive類的open()方法打開一個Zip文件,然後使用extractTo()方法解壓縮文件到指定目錄,最後調用close()方法關閉Zip文件即可。
下面是一個解壓縮Zip文件的例子:
/**
* 解壓縮Zip文件到指定目錄
* @param string $zipFilename 要解壓的Zip文件名
* @param string $targetDir 解壓縮後的目標目錄
* @param string $password Zip文件的密碼
* @return bool
*/
function unzipFiles($zipFilename, $targetDir, $password=null)
{
// 創建ZipArchive對象
$zip = new ZipArchive;
if ($zip->open($zipFilename) !== TRUE) {
return false;
}
if (!empty($password)) {
$zip->setPassword($password);
}
// 解壓縮文件到指定目錄
$zip->extractTo($targetDir);
// 關閉Zip文件
$zip->close();
return true;
}
上面的例子中,unzipFiles()函數接受3個參數:要解壓縮的Zip文件名、解壓縮後的目標目錄和Zip文件的密碼(可選)。函數內部先創建了一個ZipArchive對象,並調用它的open()方法打開要解壓縮的Zip文件。然後,使用setPassword()方法設置Zip文件的密碼(如果有的話)。接着,使用extractTo()方法解壓縮文件到指定目錄。最後,調用close()方法關閉Zip文件。
原創文章,作者:GTXR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/144746.html