• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ZipArchive::getFromName()

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

    Returns the entry contents using its name

    说明

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

    Returns the entry contents using its name.

    参数

    $name

    Name of the entry

    $length

    The length to be read from the entry. If0, 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

    返回值

    Returns the contents of the entry on success 或者在失败时返回FALSE.

    范例

    Get the file contents

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

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

    参见

    • ZipArchive::getFromIndex() Returns the entry contents using its index
    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.