PHP 7.1.0 Released

ZipArchive::getFromName

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::getFromNameDevuelve el contenido de la entrada utilizando su nombre

Descripción

string ZipArchive::getFromName ( string $name [, int $length = 0 [, int $flags ]] )

Devuelve el contenido de la entrada utilizando su nombre

Parámetros

name

Nombre de la entrada

length

La longitud a ser leída desde la entrada. Si es 0, entonces toda la entrada es leída.

flags

Los indicadores a utilizar para abrir el archivo. Los siguientes valores podrían ser escritos juntos con un OR lógico en él.

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

  • ZipArchive::FL_NOCASE

Valores devueltos

Devuelve el contenido de la entrada en caso de tener éxito, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Obtener el contenido de los ficheros

<?php
$zip 
= new ZipArchive;
if (
$zip->open('test1.zip') === TRUE) {
    echo 
$zip->getFromName('testfromfile.php');
    
$zip->close();
} else {
    echo 
'falló';
}
?>

Ejemplo #2 Convierte una imagen desde una entrada de fichero zip

<?php
$z 
= new ZipArchive();
if (
$z->open(dirname(__FILE__) . '/test_im.zip')) {
    
$im_string $z->getFromName("pear_item.gif");
    
$im imagecreatefromstring($im_string);
    
imagepng($im'b.png');
}
?>

Ver también

add a note add a note

User Contributed Notes 1 note

up
1
henrik dot haftmann at gmail dot com
2 months ago
The handling of file names containing non-ASCII characters is undocumented. It seems that this function calls <?php mb_convert_encoding($name,"CP850","UTF-8") ?> and therefore expects DOS encoding in the zipfile but UTF-8 encoding for the name. If the zipfile uses UTF-8 names (Pkzip 4.5 / Winzip 11.2), this function fails. Use getFromIndex instead as a workaround.
To Top