ZipArchive::getFromName

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

ZipArchive::getFromNameReturns the entry contents using its name

Opis

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

Returns the entry contents using its name.

Parametry

name

Name of the entry

length

The length to be read from the entry. If 0, then the entire entry is read.

flags

The flags to use to find the entry. The following values may be ORed.

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

  • ZipArchive::FL_NOCASE

Zwracane wartości

Returns the contents of the entry on success lub FALSE w przypadku niepowodzenia.

Przykłady

Przykład #1 Get the file contents

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

Przykład #2 Convert an image from a zip entry

<?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');
}
?>

Zobacz też:

add a note add a note

User Contributed Notes 1 note

up
0
henrik dot haftmann at gmail dot com
4 years 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