PHP | función zip_entry_open()

La función zip_entry_open() es una función incorporada en PHP que se usa para abrir un archivo de entrada zip para lectura. Abrir un archivo o un directorio en un archivo zip con la función zip_entry_open crea una nueva secuencia y establece una conexión entre la secuencia y un archivo o directorio en un archivo zip. El recurso zip y el recurso de entrada zip que se abrirán y enviarán como parámetros a la función zip_entry_open() y devuelve True en caso de éxito y False en caso de falla. 

Sintaxis:

bool zip_entry_open( $zip, $zip_entry, $mode )

Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:

  • $zip: Es un parámetro obligatorio que especifica el recurso zip a leer.
  • $zip_entry: es un parámetro obligatorio que especifica el recurso de entrada zip.
  • $mode: es un parámetro opcional que indica el tipo de acceso requerido para el archivo zip.

Valor devuelto: Devuelve True en caso de éxito o False en caso de fallo. 

Errores y excepciones:

  • La función zip_entry_open() devuelve un error ER_OPEN si el archivo zip no es válido.
  • La función zip_entry_open() devuelve un error ER_NOZIP si el archivo zip está vacío.

Los siguientes programas ilustran la función zip_entry_open() en PHP: 

Programa 1:

Supongamos que un archivo zip artículos.zip contiene el siguiente archivo: geeks.txt

php

<?php
 
// Opening a zip file
$zip_handle = zip_open("C:/xampp/htdocs/articles.zip");
$zip_entry = zip_read($zip_handle);
 
// Opening a zip entry archive
zip_entry_open($zip_handle, $zip_entry, "rb");
$file = zip_entry_name($zip_entry);
 
if($file == true)
    echo("Zip file: " . $file . " open successfully <br>");
// Closing a zip entry archive
$flag = zip_entry_close($zip_entry);
if ($flag == true)
    echo("Zip file: " . $file . " closed successfully");
else
    echo("Zip file: " . $file . " cannot be closed");
 
// Closing zip file
zip_close($zip_handle);
?>

Producción:

Zip file: articles/geeks open successfully 
Zip file: articles/geeks closed successfully

Programa 2:

Supongamos que un archivo zip artículos.zip contiene los siguientes archivos: geeks.txt geeks1.txt

php

<?php
 
// Opening a zip file
$zip_handle = zip_open("C:/xampp/htdocs/articles.zip");
 
if(is_resource($zip_handle))
{
    while($zip_entry = zip_read($zip_handle))
    {
   
        // Opening a zip archive entry
        $file = zip_entry_open($zip_handle, $zip_entry, "rb");
        $file_name = zip_entry_name($zip_entry);
         
        if ($file == true)
        {
            echo("Zip file: " . $file_name . " open successfully");
            echo "<br>" ;
   
            // Closing a zip archive entry
            $flag = zip_entry_close($zip_entry);
             
            if ($flag == true)
                  echo("Zip file: " . $file_name .
                      " closed successfully <br><br>");
            else
                echo("Zip file: " . $file_name .
                         " cannot be closed <br><br>");
        }
        else
            echo("Zip Entry Cannot be opened.<br>");
    }
   
    // Closing a zip archive
    zip_close($zip_handle);
}
else
    echo("Failed to Open" . $zip_handle );
?>

Producción:

Zip file: articles/geeks open successfully
Zip file: articles/geeks closed successfully 

Zip file: articles/geeks1 open successfully
Zip file: articles/geeks1 closed successfully

Artículos relacionados:

Referencia: http://php.net/manual/en/function.zip-entry-open.php

Publicación traducida automáticamente

Artículo escrito por Shubrodeep Banerjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *