在PHP中,可以使用gzopen()
、gzwrite()
、gzread()
、gzclose()
等函數來實現文件的壓縮和解壓。下面是一個簡單的示例,展示了如何使用這些函數進行文件的壓縮和解壓操作。
<?php
// 指定要壓縮的文件
$source = 'example.txt';
// 指定壓縮后的文件名
$destination = 'example.txt.gz';
// 打開壓縮文件
$gz = gzopen($destination, 'wb');
if (!$gz) {
die("無法打開壓縮文件");
}
// 讀取要壓縮的文件內容
$file = fopen($source, 'rb');
if (!$file) {
die("無法讀取源文件");
}
// 將文件內容寫入壓縮文件
while (!feof($file)) {
gzwrite($gz, fread($file, 4096));
}
// 關閉文件
fclose($file);
// 關閉壓縮文件
gzclose($gz);
?>
<?php
// 指定要解壓的文件
$source = 'example.txt.gz';
// 指定解壓后的文件名
$destination = 'example.txt';
// 打開壓縮文件
$gz = gzopen($source, 'rb');
if (!$gz) {
die("無法打開壓縮文件");
}
// 打開解壓后的文件
$file = fopen($destination, 'wb');
if (!$file) {
die("無法創建解壓后的文件");
}
// 從壓縮文件中讀取內容并寫入解壓后的文件
while (!gzeof($gz)) {
fwrite($file, gzread($gz, 4096));
}
// 關閉文件
fclose($file);
// 關閉壓縮文件
gzclose($gz);
?>
這兩個示例分別展示了如何使用PHP函數進行文件的壓縮和解壓操作。注意,這些示例僅適用于文本文件。如果要處理二進制文件,可能需要對代碼進行相應的調整。