【发布时间】:2023-03-23 12:35:01
【问题描述】:
我正在创建一个 PHP 脚本,它应该将存储在 php 文件目录中的 zip 存档解压缩到一个文件夹中。
一切正常,但是当我检查结果时,我在目录下找到 2 个文件夹:一个名为 zip 存档名称的文件夹,另一个名为 __MACOSX 的文件夹。我不知道这个文件夹是怎么来的,尤其是当我使用 Windows 7 时。其次,在每个文件夹中都有一个名为 .DS_Store 的文件。
现在,我不知道这些东西是如何到达那里的。这是我的代码:
$zip = new ZipArchive;
if ($zip->open('File.zip')) {
$path = getcwd() . "/details/" . trim($id) . "/";
$path = str_replace("\\","/",$path);
echo $path;
echo $zip->extractTo($path);
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
这是提取 zip 文件或触摸它的唯一代码,如您所见,没有像 __MACOSX 或 .DS_Store 这样的代码。
你能帮帮我吗?
【问题讨论】:
-
别担心,.DS_store 是 macOS 为记住如何显示文件夹而创建的文件(例如如何重新排列每个文件),您可以将其删除 ????
-
@ArthurGuiot 但我使用的是 Windows。那个正在创建的文件夹呢?
-
文件在存档中,它们是从中提取的。档案很可能是在 macOS 系统上创建的。这些文件在 macOS 上是隐藏的,许多用户甚至在不知情的情况下将它们包含在他们创建的档案中。
.DS_Store或多或少相当于 Windows 资源管理器生成的Thumbs.db。 -
@axiac 更接近的等价物是
Desktop.ini。.DS_Store用于存储 Finder 窗口设置,例如窗口大小/位置、“查看为”模式、图标位置……
标签: php zip unzip ziparchive