zip_entry_name()
A função zip_entry_name() em PHP retorna o nome de um arquivo em um arquivo zip, que corresponde ao caminho relativo à raiz do arquivo.
A função zip_entry_name() é uma função PHP legada usada para obter o nome de um arquivo em um arquivo zip. O nome retornado é o caminho do arquivo relativo à raiz do arquivo zip.
Nota de Compatibilidade: As funções procedurais legadas
zip_*foram descontinuadas no PHP 7.4 e removidas no PHP 8.0. Este tutorial aborda a sintaxe legada para referência histórica. Para aplicações PHP modernas, utilize a classeZipArchive, que é a única opção viável no PHP 8.0+.
Sintaxe
A sintaxe da função zip_entry_name() é a seguinte:
Sintaxe da função zip_entry_name() em PHP
string zip_entry_name(resource $zip_entry)Onde $zip_entry é um handle de recurso retornado por zip_read() para uma entrada no arquivo zip.
Exemplos de Uso
Vejamos um exemplo prático de recuperação do nome de um arquivo em um arquivo zip.
Exemplo: Uso Legado (PHP 7.4 e Anteriores)
O exemplo a seguir demonstra como abrir um arquivo zip, iterar pelas suas entradas e recuperar o nome de cada entrada usando as funções legadas zip_*:
Recuperando Nomes de Arquivos de um Arquivo Zip em PHP Legado
$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);
}Este código abre o arquivo example.zip, lê cada entrada sequencialmente, imprime seu nome usando zip_entry_name() e fecha corretamente tanto a entrada quanto o arquivo.
Exemplo: Obtendo o Nome de um Arquivo em um Arquivo Zip (PHP Moderno)
Como as funções legadas zip_* foram removidas no PHP 8.0+, a abordagem recomendada é utilizar a classe ZipArchive. Este exemplo demonstra como abrir um arquivo, ler a primeira entrada e obter seu nome com tratamento adequado de erros e limpeza de recursos:
Obtendo o Nome de um Arquivo em um Arquivo Zip em 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.";
}Este código cria uma instância de ZipArchive e abre o arquivo example.zip. Ele recupera o nome da primeira entrada usando getNameIndex(0), exibe-o e fecha corretamente o arquivo. Se o arquivo não puder ser aberto, uma mensagem de erro é exibida.
Conclusão
Neste artigo, discutimos a função zip_entry_name() e seu papel na recuperação de nomes de arquivos em arquivos zip. Explicamos sua sintaxe e fornecemos exemplos tanto legados quanto modernos. Ao utilizar ZipArchive em suas aplicações, você pode gerenciar arquivos zip de forma confiável e acessar metadados de arquivos.
Funções Relacionadas
As funções legadas zip_* são normalmente usadas em conjunto ao iterar sobre um arquivo zip. Os capítulos a seguir abordam o restante do fluxo de trabalho:
- zip_open() — abre um arquivo zip para leitura.
- zip_read() — lê a próxima entrada de um arquivo aberto.
- zip_entry_open() — abre uma entrada para que seu conteúdo possa ser lido.
- zip_entry_read() — lê o conteúdo de uma entrada aberta.
- zip_entry_filesize() — obtém o tamanho não comprimido de uma entrada.
- zip_entry_compressedsize() — obtém o tamanho comprimido de uma entrada.
- zip_entry_compressionmethod() — obtém o método de compressão usado para uma entrada.
- zip_entry_close() — fecha uma entrada aberta.
- zip_close() — fecha o arquivo.
Para manipulação moderna e suportada de arquivos zip, consulte a visão geral da extensão Zip do PHP.