我将此文件下载到:
DownloadFile($reportDownloadUrl, $DownloadPath);
但它是一个zip文件。在其中,使用随机名称random_name.csv
如何在php中提取此文件夹abc.zip
并使用随机名称将此文件重命名为new_name.csv
问题是我无法使用
$zip->renameName('currentname.csv','newname.csv');
因为我没有currentname
。
答案 0 :(得分:3)
此代码检查zipLocation
中的文件,然后迭代它们以检查是否有csv文件。如果它找到了以原始名称在目录中复制的内容,则使用新名称复制另一个副本。
$zipLocation = "path/to/file.zip";
$zip = new ZipArchive;
if ($zip->open($zipLocation) === true) {
for($i = 0; $i < $zip->numFiles; $i++) {
$filename = $zip->getNameIndex($i);
if (pathinfo($filename, PATHINFO_EXTENSION)=="csv"){
$fileinfo = pathinfo($filename);
copy("zip://".$zipLocation."#".$filename, "./newname.csv");
copy("zip://".$zipLocation."#".$filename, "./".$fileinfo['basename']);
}
}
$zip->close();
}