我有这个文件下载到:
DownloadFile($reportDownloadUrl, $DownloadPath);
但它是一个zip文件。在它里面,创建一个CSV文件随机命名为random_name.csv
我如何提取这个文件夹abc.zip
在php和重命名这个文件随机命名为new_name.csv
问题是我不能使用
$zip->renameName('currentname.csv','newname.csv');
因为我没有currentname
这段代码检查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();
}