zip_entry_name()
Функция zip_entry_name() в PHP возвращает имя файла (путь) в zip-архиве. Это устаревшая функция, удалённая в PHP 8.0.
Функция 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-архивов. Мы объяснили её синтаксис и привели как устаревшие, так и современные примеры. Используя ZipArchive в своих приложениях, вы сможете надёжно управлять zip-архивами и получать доступ к метаданным файлов.
Связанные функции
Устаревшие функции zip_* обычно используются совместно при переборе записей zip-архива. В следующих разделах рассматривается остальная часть рабочего процесса:
- zip_open() — открыть zip-архив для чтения.
- zip_read() — прочитать следующую запись из открытого архива.
- zip_entry_open() — открыть запись для чтения её содержимого.
- zip_entry_read() — прочитать содержимое открытой записи.
- zip_entry_filesize() — получить несжатый размер записи.
- zip_entry_compressedsize() — получить сжатый размер записи.
- zip_entry_compressionmethod() — получить метод сжатия, используемый для записи.
- zip_entry_close() — закрыть открытую запись.
- zip_close() — закрыть архив.
Для современной поддерживаемой работы с zip-архивами см. обзор расширения PHP Zip.