zip_entry_name()
La funzione zip_entry_name() in PHP restituisce il nome di un file in un archivio zip, ovvero il percorso relativo alla radice dell'archivio.
La funzione zip_entry_name() è una funzione PHP legacy utilizzata per ottenere il nome di un file in un archivio zip. Il nome restituito è il percorso del file relativo alla radice dell'archivio zip.
Nota di compatibilità: Le funzioni procedurali legacy
zip_*sono state deprecate in PHP 7.4 e rimosse in PHP 8.0. Questo tutorial tratta la sintassi legacy a titolo di riferimento storico. Per le applicazioni PHP moderne, usa la classeZipArchive, che è l'unica opzione disponibile in PHP 8.0+.
Sintassi
La sintassi della funzione zip_entry_name() è la seguente:
Sintassi della funzione zip_entry_name() in PHP
string zip_entry_name(resource $zip_entry)Dove $zip_entry è un handle di risorsa restituito da zip_read() per una voce nell'archivio zip.
Esempi d'uso
Vediamo un esempio pratico per recuperare il nome di un file da un archivio zip.
Esempio: Utilizzo legacy (PHP 7.4 e precedenti)
L'esempio seguente dimostra come aprire un archivio zip, iterare le sue voci e recuperare il nome di ciascuna voce usando le funzioni legacy zip_*:
Recupero dei nomi dei file da un archivio zip in PHP legacy
$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);
}Questo codice apre example.zip, legge sequenzialmente ogni voce, ne stampa il nome tramite zip_entry_name() e chiude correttamente sia la voce che l'archivio.
Esempio: Ottenere il nome di un file in un archivio zip (PHP moderno)
Poiché le funzioni legacy zip_* sono state rimosse in PHP 8.0+, l'approccio consigliato è utilizzare la classe ZipArchive. Questo esempio mostra come aprire un archivio, leggere la prima voce e ottenerne il nome con una corretta gestione degli errori e pulizia delle risorse:
Ottenere il nome di un file in un archivio zip in 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.";
}Questo codice crea un'istanza di ZipArchive e apre example.zip. Recupera il nome della prima voce tramite getNameIndex(0), lo visualizza e chiude correttamente l'archivio. Se l'archivio non può essere aperto, viene mostrato un messaggio di errore.
Conclusione
In questo articolo abbiamo discusso la funzione zip_entry_name() e il suo ruolo nel recupero dei nomi dei file dagli archivi zip. Ne abbiamo spiegato la sintassi e fornito esempi sia legacy che moderni. Utilizzando ZipArchive nelle tue applicazioni, puoi gestire in modo affidabile gli archivi zip e accedere ai metadati dei file.
Funzioni correlate
Le funzioni legacy zip_* sono tipicamente usate insieme quando si itera su un archivio zip. I capitoli seguenti coprono il resto del flusso di lavoro:
- zip_open() — apre un archivio zip per la lettura.
- zip_read() — legge la voce successiva da un archivio aperto.
- zip_entry_open() — apre una voce in modo che il suo contenuto possa essere letto.
- zip_entry_read() — legge il contenuto di una voce aperta.
- zip_entry_filesize() — ottiene la dimensione non compressa di una voce.
- zip_entry_compressedsize() — ottiene la dimensione compressa di una voce.
- zip_entry_compressionmethod() — ottiene il metodo di compressione usato per una voce.
- zip_entry_close() — chiude una voce aperta.
- zip_close() — chiude l'archivio.
Per la gestione moderna e supportata degli archivi zip, consulta la panoramica dell'estensione PHP Zip.