【问题标题】:why php ziparchive's extractTo method creates one-depth-level, instead folders tree? (folders names are cyrillic)为什么 php ziparchive 的 extractTo 方法创建一个深度级别,而不是文件夹树? (文件夹名称是西里尔字母)
【发布时间】:2020-04-20 15:32:46
【问题描述】:

我正在使用适用于 unix 的 Web 服务器。

我有 zip 存档,其中包含一些文件夹树:

section1
**subsection1-1
**subsection2-2

section2
**subsection2-1

所有部分的名称都在cyrillic

当我尝试使用$zip->extractTo(...) 提取此存档时,我只得到一个深度级别的部分。

section1
subsection1-1
subsection1-2
section2
subsection2-1

(嵌套文件的情况相同。它们出现在根级别而不是父级别)

【问题讨论】:

  • 查看该方法的文档页面,这似乎是已知的行为。请参阅 5 年前的 this comment 以了解可能的解决方法 - 我尚未对其进行测试,因此无法保证它的功效或效率,但它可能对您有所帮助。

标签: php ziparchive cyrillic


【解决方案1】:

我修复了。 原因是:我的带有文件夹的 zip 存档是由 windows 服务器上的 php 的 ziparchive 创建的。 当它被创建时 - 文件和文件夹的本地名称带有“\”分隔符。 我试图将它导出到 unix 的服务器上;

我修复了创建 zip 的代码,将“\”替换为“/”,现在可以正常工作了。

【讨论】:

    猜你喜欢
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多