以下是如何在不解壓縮整個壓縮檔的情況下處理壓縮檔中特定檔案的方法
<?php
$zip_file = '/path/to/file.zip'; // 我想要取得 CSV 檔案的串流
$zip = new ZipArchive();
$zip->open($zip_file);
for ($i = 0; $i < $zip->numFiles; $i++) { // 逐一檢查檔案
$name = $zip->getNameIndex($i); // 取得項目名稱
$extension = pathinfo($name, PATHINFO_EXTENSION);
if ($extension === 'csv') { // 我想要處理 csv 檔案
$stream = $zip->getStream($name); // PHP 8.2 之前無法使用串流索引
// 從 PHP 8.2 開始可以使用 $zip->getStreamIndex() 或 $zip->getStreamName()
// 使用 $stream 進行操作
// ...
}
}