W3docs

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 classe ZipArchive, 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:

Per la gestione moderna e supportata degli archivi zip, consulta la panoramica dell'estensione PHP Zip.

Pratica

Pratica
Cosa fa la funzione zip_entry_name() in PHP?
Cosa fa la funzione zip_entry_name() in PHP?
Was this page helpful?