CascadiaPHP 2024

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检索目录项的名称

警告

本函数已自 PHP 8.0.0 起被废弃。强烈建议不要依赖本函数。

说明

zip_entry_name(resource $zip_entry): string|false

返回指定目录项的名称。

参数

zip_entry

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

返回值

目录项的名称, 或者在失败时返回 false

更新日志

版本 说明
8.0.0 弃用此函数,取而代之的是对象 API,请参阅 ZipArchive::statIndex()

参见

add a note

User Contributed Notes 2 notes

up
1
leandro_dealmeida at hotmail dot com
21 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
15 years ago
Big note for filename with accents.

Some Zip softwares encode accents with CP850.

So use iconv for keeping your accents SAFE !
To Top