#php
#php
Вопрос:
У меня есть этот файл, который загружается по адресу:
DownloadFile($reportDownloadUrl, $DownloadPath);
Но это zip-файл. Внутри него создается файл CSV со случайным именем, т.е random_name.csv
Как мне извлечь эту папку abc.zip
в php и переименовать этот файл со случайным именем в new_name.csv
Проблема в том, что я не могу использовать
$zip->renameName('currentname.csv','newname.csv');
поскольку у меня нет currentname
.
Ответ №1:
Этот код проверяет файл, 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();
}