Php 从zip存档中提取文件,然后重命名它
我在以下位置下载了此文件:Php 从zip存档中提取文件,然后重命名它,php,Php,我在以下位置下载了此文件: DownloadFile($reportDownloadUrl, $DownloadPath); 但这是一个压缩文件。在它里面,一个CSV文件被创建为一个随机名称,即random\u name.CSV 如何在php中提取此文件夹abc.zip,并使用随机名称将此文件重命名为new_name.csv 问题是我不能使用 $zip->renameName('currentname.csv','newname.csv'); 由于我没有currentname此代码检查
DownloadFile($reportDownloadUrl, $DownloadPath);
但这是一个压缩文件。在它里面,一个CSV文件被创建为一个随机名称,即random\u name.CSV
如何在php中提取此文件夹abc.zip
,并使用随机名称将此文件重命名为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();
}
$zipLocation=“path/to/file.zip”;
$zip=新的ZipArchive;
如果($zip->open($zipLocation)==true){
对于($i=0;$i<$zip->numFiles;$i++){
$filename=$zip->getNameIndex($i);
if(pathinfo($filename,pathinfo_扩展名)=“csv”){
$fileinfo=pathinfo($filename);
复制(“zip://“$zipLocation.”#“$filename”,./newname.csv”);
复制(“zip://.”$zipLocation.#“$filename,.”/“$fileinfo['basename']);
}
}
$zip->close();
}