【问题标题】:Can I read the original file modification date from a file in a zip archive with PHP?我可以使用 PHP 从 zip 存档中的文件中读取原始文件修改日期吗?
【发布时间】:2014-06-15 10:10:54
【问题描述】:

我所说的原始是指存档时文件中的那个。

我知道该信息在 zip 存档中,因为例如在 Windows 中解压缩存档时,您会获得原始文件的信息(最后修改日期、创建日期等)。

但是当用ZipArchive::extractTo提取文件时,它的修改日期被设置为提取的时间(这使得一些逻辑),我无法再阅读它了。

我看到了一些使用 ZipArchive::getStreamstat() 的代码,但我仍然得到一个“更改”的日期,而不是原来的日期。

是否有任何内置函数集可以帮助我解决这个问题? (我在一个网络主机上,不能安装太多)

我在 Google 上进行了搜索,经常到这里结束,在这里进行了更多搜索,但无法准确找到我需要的内容。如果已经有一个线程解决这个问题,请简单地指向它并关闭它。

在此先感谢您的任何建设性意见:-p

【问题讨论】:

  • 我认为 ZipArchive 的 statIndex 方法会返回您要查找的内容。
  • 非常感谢@cucurbit :) 这正是我想要的,它在我的脚本中就像一个魅力。我在 PHP 文档中错过了这个。示例(抱歉,无法正确格式化代码):$zipTmp = new ZipArchive; $res = $zipTmp -> 打开(archive.zip); $info = $zipTmp -> statname("path/to/file/inside/archive.zip"); echo date("YmdHi", $info["mtime"]);`

标签: php zip last-modified


【解决方案1】:

为了以后使用,请以正确的格式回答:

$zipTmp = new ZipArchive();
$res = $zipTmp -> open("archive.zip");
$info = $zipTmp -> statname("path/to/file/inside/archive.zip");
echo date("YmdHi", $info["mtime"]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    • 2012-07-15
    相关资源
    最近更新 更多