PHP ZipArchive: поиск имени заархивированной папки после распаковки

Я использую ZipArchive для распаковки zip-файла:

Этот файл представляет собой заархивированную папку, и я хочу:

Убедитесь, что содержимое состоит только из папки (очевидно, с файлами внутри). Получите имя разархивированной папки, чтобы я мог переименовать ее, если это необходимо?

Но возникли проблемы с получением имени папки после распаковки? Я знаю, что могу получить имя zip-файла, так как большую часть времени, когда он заархивирован, это одно и то же имя, но некоторые люди также меняют имя заархивированного файла.


person Simon Davies    schedule 10.10.2013    source источник


Ответы (1)


Если вы точно знаете, что в zip есть только один каталог, вы можете просто сделать это:

$dir = trim($zip->getNameIndex(0), '/');

В противном случае вам придется перебрать все файлы и каким-то образом выяснить, какой из них вам нужен:

for ($i = 0; $i < $zip->numFiles; $i++) {
    $entry = $zip->getNameIndex($i);
}
person Alex Howansky    schedule 10.10.2013
comment
спасибо за ответ дам его назад, и я ожидаю, что пользователь загрузит только папку, и поэтому я хочу проверить, ура - person Simon Davies; 10.10.2013
comment
Это то, что я искал. Спасибо - person kikuyu1; 07.08.2018