略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: zip_entry_name

2024-05-17

zip_entry_name

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_name检索目录项的名称

说明

zip_entry_name(resource $zip_entry): string

返回指定目录项的名称。

参数

zip_entry

由函数zip_read() 返回的目录项。

返回值

目录项的名称。

参见

add a noteadd a note

User Contributed Notes 2 notes

up
1
leandro_dealmeida at hotmail dot com
19 years ago
If you want to get the real name of the file without the directory name, you can just use the function basename() as the follow:

<?
$zip_dir = "./import/";
$zip = zip_open($zip_dir."import.zip");
if ($zip) {
    while ($zip_entry = zip_read($zip)) {

        $file = basename(zip_entry_name($zip_entry));
        $fp = fopen($zip_dir.basename($file), "w+");
       
        if (zip_entry_open($zip, $zip_entry, "r")) {
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            zip_entry_close($zip_entry);
        }
       
           fwrite($fp, $buf);
        fclose($fp);
       
        echo "The file ".$file." was extracted to dir ".$zip_dir."\n<br>";
    }
    zip_close($zip);
}
?>

Thefore you can extract files without concern with the directory that is set inside the zip source.

Remember to give write permission (w) on that directory.

Hello from Brazil.
Leandro
up
0
kevyn at opsone dot net
13 years ago
Big note for filename with accents.

Some Zip softwares encode accents with CP850.

So use iconv for keeping your accents SAFE !

官方地址:https://www.php.net/manual/en/function.zip-entry-name.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3