这里有一种方法可以处理 zip 存档中的特定文件,而无需完全提取
<?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 进行操作
// ...
}
}