ZipArchive::getFromName

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

ZipArchive::getFromNameВозвращает содержимое элемента по его имени

Описание

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

Возвращает содержимое элемента по его имени.

Список параметров

name

Имя элемента.

length

Размер читаемых данных из элемента. Если 0, содержимое читается полностью.

flags

Флаги используемые для поиска записи. Следующие значения могут быть присоединениы (побитовое ИЛИ).

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

  • ZipArchive::FL_NOCASE

Возвращаемые значения

Возвращает содержимое элемента при успехе или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Получить содержимое файла

<?php
$zip 
= new ZipArchive;
if (
$zip->open('test1.zip') === TRUE) {
    echo 
$zip->getFromName('testfromfile.php');
    
$zip->close();
} else {
    echo 
'ошибка';
}
?>

Пример #2 Преобразовать изображении из 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');
}
?>

Смотрите также

add a note add a note

User Contributed Notes 1 note

up
-1
henrik dot haftmann at gmail dot com
3 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