Longhorn PHP 2023 - Call for Papers


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

ZipArchive::getFromNameRetourne le contenu de l'entrée en utilisant son nom


public ZipArchive::getFromName(string $name, int $len = 0, int $flags = 0): string|false

Retourne le contenu de l'entrée en utilisant son nom.

Liste de paramètres


Nom de l'entrée


La longueur à lire depuis l'entrée. Si vaut 0, alors toute l'entrée sera lue.


Le flag à utiliser pour trouver l'entrée. Les constantes suivantes peuvent être utilisées.

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

  • ZipArchive::FL_NOCASE

Valeurs de retour

Retourne le contenu de l'entrée en cas de succès ou false si une erreur survient.


Exemple #1 Récupère le contenu d'un fichier

= new ZipArchive;
if (
$zip->open('test1.zip') === TRUE) {
} else {

Exemple #2 Convertit une image depuis une entrée ZIP

= 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');

Voir aussi

add a note

User Contributed Notes 2 notes

henrik dot haftmann at gmail dot com
6 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.
masterboreq at gmail dot com
3 years ago
When passing to the method explicit string which contains a relative path (inside the ZIP archive), e.g. 'path/to/file.php/' please make sure you used single quotation mark (') not the double one ("). Double quotation mark produce FALSE (at least at Windows machine) giving no further hints what gone wrong.
Also, please make sure that the path delimiters used inside your ZIP file is backslash or forward slash since it's make a difference in this place too.
I hope I saved you a headache while working with this (so far) unmentioned "feature" :)
To Top