3

サーバーには何百もの mp3 ファイルがあります。各ファイルmodified-dateは、アップロード日を表すために PHP によってフェッチされるため重要ですfilemtime(データベースに値を保存せずにアップロード時刻を決定する方法がないため)。

すべてのファイルを正規化してサーバーに再アップロードする必要があるオーディオの問題に遭遇しました。もちろん、これにより、modified-date各ファイルの が「today」に変更されます。元のファイルを保持するには、各ファイルが必要ですmodified-date

これがソフトウェアの推奨に関する質問なのか、プログラミングに関する質問なのかわかりません。間違った .SE サイトである場合は申し訳ありません。これは可能ですか?

4

2 に答える 2

3

You should be able to set the modified time with touch: http://php.net/manual/en/function.touch.php

This requires PHP > 5.3 and the user running the script (probably your web user unless you run it from the cli) needs to have write permission on the file.

You have two options for implementation:

  1. Store the filenames and their mtimes in temporary storage (either a file or a database table). When you finish the upload, run through all of the files and use touch to reset the mtime.

  2. As you upload the files, check to see if the file already exists. If it does, grab the mtime in a temporary variable, overwrite the file, then touch it with the correct mtime.

于 2013-06-05T21:43:09.427 に答える
2

これがあなたが探している答えではないことはわかっていますが、最終更新日に頼るよりも、この情報をデータベースに保存し始める方がはるかに理にかなっています。このようにして、ユーザーが知る必要のある日付を表示し、変更の真の日付を保持できます。

このようなアプローチにより、柔軟性も大幅に向上します。

@Snailer のリクエストに応じて - 質問を閉じるため。

于 2013-06-07T19:57:49.880 に答える