ZipArchive::getFromName

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

ZipArchive::getFromNameGibt den Inhalt eines Eintrags unter Verwendung seines Namens zurück

Beschreibung

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

Gibt den Inhalt eines Eintrags unter Verwendung seines Namens zurück.

Parameter-Liste

name

Name des Eintrags

length

Die von dem Eintrag zu lesende Länge. Falls 0, wird der gesamte Eintrag gelesen.

flags

Die Flags, die beim Öffnen des Archivs verwendet werden können. Die folgenden Werte können darauf angewendet werden (ODER verknüpft):

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

Rückgabewerte

Gibt im Erfolgsfall den Inhalt des Eintrags zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Den Dateiinhalt auslesen

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

Beispiel #2 Ein Bild aus einem ZIP-Eintrag konvertieren

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

Siehe auch

add a note add a note

User Contributed Notes 1 note

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