うーん。PHPを組み合わせて使用するWebサーバーを想像してみてください。たとえば、nodeJSと言います。nodeJSランドでは、ファイルの変更時刻を取得すると、ミリ秒が含まれます。PHPではそうではありません。ここで、ユーザーがダウンロードできる大きなファイル(数ギガバイト)について、ファイル全体の事前計算されたMD5チェックサムを含む対応するファイルがあり、それを維持しているとしましょう。このチェックサムは、元のファイルと同じ名前のファイルに保存されますが、ファイルのサイズと変更時刻も付加されます。ミリ秒を含む!(すべてノードによって実行されます)
例:GEBCO_2019.nc(11723617646バイト)およびGEBCO_2019.nc.11723617646-2019-10-31T15-03-06.687Z.md5
ダウンロードページで、MD5チェックサムを表示することにしました。これはPHPコードを使用しています
大野!!!
filemtimeと呼びますが、残念ながらミリ秒を取得できないため、Md5ファイルの名前を特定できません。
ミリ秒の部分を無視するようにノードコードを変更することができます。
ここでのPHPの欠陥のように、必要以上に低い公分母を選択することになります。
また、ファイルの変更時間を取得するためだけに外部プログラムの実行に頼らなければならないことも非常に恐ろしいことです。1ページの読み込みでこれを50回または60回実行する必要がある場合は、処理速度が少し遅くなると思います。
現在、ファイルmod時間の精度は、もちろんシステムに依存しています。PHPは、この時間を取得する方法を直接提供する必要があります。それができない場合、それは深刻な欠陥です。