zip_entry_name()
Функция zip_entry_name() — это устаревшая функция PHP, предназначенная для получения имени файла в ZIP-архиве. Возвращаемое имя представляет собой путь к файлу относительно корня ZIP-архива.
Примечание о совместимости: Устаревшие процедурные функции
zip_*были помечены как устаревшие в PHP 7.4 и удалены в PHP 8.0. Данное руководство охватывает устаревший синтаксис исключительно в исторических целях. Для современных PHP-приложений используйте классZipArchive, который является единственным рабочим вариантом в PHP 8.0 и выше.
Синтаксис
Синтаксис функции zip_entry_name() выглядит следующим образом:
Синтаксис функции zip_entry_name() в PHP
string zip_entry_name(resource $zip_entry)Где $zip_entry — это дескриптор ресурса, возвращаемый функцией zip_read() для записи в ZIP-архиве.
Примеры использования
Рассмотрим практический пример получения имени файла из ZIP-архива.
Пример: Использование устаревшего синтаксиса (PHP 7.4 и более ранних версий)
Следующий пример демонстрирует, как открыть ZIP-архив, перебрать его записи и получить имя каждой записи с помощью устаревших функций zip_*:
Получение имён файлов из ZIP-архива в устаревшем PHP
$zip = zip_open('example.zip');
if ($zip) {
while ($zip_entry = zip_read($zip)) {
echo zip_entry_name($zip_entry) . "\n";
zip_entry_close($zip_entry);
}
zip_close($zip);
}Данный код открывает example.zip, последовательно читает каждую запись, выводит её имя с помощью zip_entry_name() и корректно закрывает как запись, так и архив.
Пример: Получение имени файла в ZIP-архиве (современный PHP)
Поскольку устаревшие функции zip_* удалены в PHP 8.0+, рекомендуемым подходом является использование класса ZipArchive. В этом примере показано, как открыть архив, прочитать первую запись и получить её имя с корректной обработкой ошибок и очисткой ресурсов:
Получение имени файла в ZIP-архиве в PHP
$zip = new ZipArchive();
$zipFile = 'example.zip';
if ($zip->open($zipFile) === true) {
// Get the name of the first entry
$fileName = $zip->getNameIndex(0);
echo "The name of the file is: " . $fileName;
$zip->close();
} else {
echo "Failed to open the archive.";
}Этот код создаёт экземпляр ZipArchive и открывает example.zip. Он получает имя первой записи с помощью getNameIndex(0), выводит его и корректно закрывает архив. Если открыть архив не удаётся, отображается сообщение об ошибке.
Заключение
В этой статье мы рассмотрели функцию zip_entry_name() и её роль в получении имён файлов из ZIP-архивов. Мы объяснили её синтаксис и привели примеры как для устаревшего, так и для современного PHP. Используя ZipArchive в своих приложениях, вы сможете надёжно управлять ZIP-архивами и получать метаданные файлов.
Практика
Что делает функция zip_entry_name() в PHP?