zip_entry_name()
(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)
检索目录项的名称
说明
zip_entry_name(resource $zip_entry): string
返回指定目录项的名称。
参数
- $zip_entry
由函数zip_read()返回的目录项。
返回值
目录项的名称。
参见
zip_open()
打开ZIP存档文件zip_read()
读取ZIP存档文件中下一项
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
Big note for filename with accents. Some Zip softwares encode accents with CP850. So use iconv for keeping your accents SAFE !