file_get_contents()
函數可以用于讀取壓縮文件,但需要使用一些額外的步驟。在 PHP 中,你可以使用 gzopen()
, gzread()
和 gzclose()
函數來讀取 gzip 或 bzip2 壓縮文件。
以下是一個示例,展示了如何使用 gzopen()
和 gzread()
讀取 gzip 壓縮文件:
<?php
$filename = "example.txt.gz";
$gz = gzopen($filename, 'rb');
if ($gz) {
$content = "";
while (!gzeof($gz)) {
$content .= gzread($gz, 4096);
}
gzclose($gz);
echo $content;
} else {
echo "無法打開壓縮文件";
}
?>
請注意,這個示例僅適用于 gzip 壓縮文件。對于其他類型的壓縮文件,你需要使用相應的 PHP 函數,例如 bzopen()
, bzread()
和 bzclose()
(用于 bzip2 壓縮文件)。
如果你需要處理多種類型的壓縮文件,可以考慮使用 PHP 的 ZipArchive
類。這個類允許你讀取、創建和修改 ZIP 壓縮文件。以下是一個簡單的示例,展示了如何使用 ZipArchive
讀取 ZIP 壓縮文件中的內容:
<?php
$zip = new ZipArchive;
$filename = "example.zip";
if ($zip->open($filename) === TRUE) {
for ($i = 0; $i < $zip->numFiles; $i++) {
$stat = $zip->statIndex($i);
$content = $zip->getFromIndex($i);
echo "文件名: " . $stat['name'] . "\n";
echo "內容: " . $content . "\n";
}
$zip->close();
} else {
echo "無法打開壓縮文件";
}
?>
這個示例將讀取 ZIP 壓縮文件中的所有文件并輸出它們的內容。