【问题标题】:Set the date and time for a file设置文件的日期和时间
【发布时间】:2012-03-01 00:12:23
【问题描述】:

我想在我上传的图像文件上添加日期和时间。哪种方式最好?

提前致谢!

【问题讨论】:

  • 您希望它成为图像的一部分还是数据库中的记录?
  • 我希望它成为图像的一部分。例如:您单击计算机中的文件并读取有关文件的详细信息。我想设置创建该信息时显示的日期和时间。
  • 这不是 PHP 的工作。那是文件的修改时间。您的操作系统应该在图像文件本身中创建该元数据。如果您想在 PHP 中获取该信息,可以使用 filemtime: php.net/manual/en/function.filemtime.php
  • 看看这个,可能有帮助:us2.php.net/manual/en/ref.exif.php
  • 哦。我没有右键单击文件并阅读属性中的信息:P 但是任何操作系统是否会为上传的文件添加创建日期和时间?

标签: php file date time


【解决方案1】:

您可以使用touch函数设置最后修改日期:

touch("path/to/my-image-file.jpg", $someTimestamp);

要在 PHP 中检索它,请使用 filemtime。

【讨论】:

  • 效果很好! :) 谢谢!我会尽可能地标记它。
【解决方案2】:

任何现代操作系统都会在创建文件时(也可能在修改或访问文件时)记录时间戳信息。

您可以使用 stat() 调用从 php 获取此信息。这将返回一个包含多条数据的关联数组。你会想要 'atime'、'mtime' 或 'ctime' 元素。

在此处阅读带有大量示例的官方文档:

http://php.net/manual/en/function.stat.php

如果你有一个指向文件的指针(例如,如果你正在使用它并且它是打开的)你可以使用 fstat 来代替:

http://www.php.net/manual/en/function.fstat.php

【讨论】:

    【解决方案3】:

    许多现代相机在图像文件中的 EXIF 标记中添加日期和时间。这么多照片已经有了这个数据。 有 PHP 函数可以读取这些数据:https://www.php.net/manual/en/ref.exif.php

    您还可以找到一些库来将此数据写入图像。以下是对此的讨论:writing exif data in php 我认为这是在图像文件中存储图像日期和时间的最佳和标准方式。 我认为大多数用于查看照片的桌面应用程序也支持 exif。

    当没有可用的 exif 数据时,可以使用 OS 文件创建时间。但这可能是最后一次文件复制的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 2014-06-15
      • 2016-03-22
      • 2020-02-09
      • 2021-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多