W3docs

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-архивами см. обзор расширения PHP Zip.

Практика

Практика
Что делает функция zip_entry_name() в PHP?
Что делает функция zip_entry_name() в PHP?
Was this page helpful?