2013-06-05 72 views
3

我在我的服务器上有数百个mp3文件。每个文件的modified-date都很重要,因为它被PHP filemtime抓取以表示它的上传日期(因为如果不将数据存储到数据库中,则无法确定上传时间)。FTP:我可以覆盖文件并保持修改日期吗?

我遇到了一个音频问题,其中所有文件都需要标准化并重新上传到服务器。这当然会将每个文件的modified-date更改为“今天”。我需要每个文件保留它的原始modified-date

我不确定这是一个软件推荐问题还是编程问题,所以如果这是错误的.SE站点,我很抱歉。这甚至有可能吗?

+3

我知道这不是您正在寻找的答案,但开始将此信息存储在数据库中比依赖上次修改日期更有意义。这样,您可以向用户显示他们需要知道的日期并保留修改的真实日期。 –

+0

嗯,你是对的..改变我的整个代码的工作方式要容易得多,lol:P你想发布这个答案吗? – Snailer

回答

2

我知道这不是您正在寻找的答案,但是将这些信息存储在数据库中比依赖上次修改的日期更有意义。这样,您可以向用户显示他们需要知道的日期并保留修改的真实日期。

这样的方法也给了你更多的灵活性。

按照@Snailer的要求 - 为了解决问题。

3

你应该能够触摸设置修改时间:http://php.net/manual/en/function.touch.php

这需要PHP> 5.3和运行脚本(可能是您的网络用户,除非你从CLI运行)的用户需要有写权限在文件上。

你必须执行两种选择:

  1. Store中的文件名和他们的临时存储(可以是文件或数据库表)mtimes。当您完成上传时,请遍历所有文件并使用touch重置mtime。

  2. 当您上传文件时,请检查文件是否已存在。如果是这样,请在临时变量中抓取mtime,覆盖文件,然后用正确的mtime触摸它。

+0

但是,如何在上传新文件时执行此操作?我将不得不编写脚本来解析每个文件,但我无法引用旧的修改时间。 – Snailer

+0

@Snailer请参阅修改。 –

相关问题