【发布时间】:2013-07-17 09:57:48
【问题描述】:
我有以下名称 Café, Room service, deli'very.zip 的 .zip 文件。我可以通过删除特殊字符来更改.zip 文件的名称。
$string = str_replace(array(","),array(""),$string);
$accent = 'ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕƒ';
$noaccent = 'SOZsozYYuaaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRra';
$string = strtr(utf8_decode($string),utf8_decode($accent),$noaccent);
$string = strtr($string, $accent, $noaccent);
现在问题是当我从 .zip 读取文件时,它指的是它的原始 .zip 名称,而不是我所做的新更改名称。
编辑:
我可以将.zip 文件名从Café, Room service, deli'very.zip 更改为Cafe Room service, delivery.zip,但是当从.zip 文件中读取时,比如说1.jpg,那么它的读取路径就像Café, Room service, deli'very/1.jpg。
任何人都可以专注于它吗?
编辑:
我正在为 .zip 文件使用以下代码
$zip = zip_open($_FILES['tmp_name']);
$zipEntry = zip_read($zip);
zip_entry_name($zipEntry);
【问题讨论】:
-
您的意思是 zip 中的路径是指旧路径吗? - 在 zip 中编码而不是基于文件名。
-
@John3136 是的。从 Zip 读取文件时,它指的是旧路径(.zip 文件名),而不是我更改的内容。