Zip 函数
在线手册:中文 英文
PHP手册

zip_entry_name

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

zip_entry_nameRetrieve the name of a directory entry

说明

string zip_entry_name ( resource $zip_entry )

Returns the name of the specified directory entry.

参数

zip_entry

A directory entry returned by zip_read().

返回值

The name of the directory entry.

参见


Zip 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Retrieve the name of a directory entry

用户评论:

kevyn at opsone dot net (20-Nov-2008 03:21)

Big note for filename with accents.

Some Zip softwares encode accents with CP850.

So use iconv for keeping your accents SAFE !

leandro_dealmeida at hotmail dot com (27-Sep-2002 05:21)

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