2012-04-27 16 views
1

ファイルが更新され保存されたときにPHPが検出する方法はありますか?PHP - ファイルが更新されたときに自動的に検出する

これを「偽造する」最良の方法がない場合は、

I.e.特定のアクションが実行される前に、最後に保存されたファイルの日付を確認しますか?

+0

PHPはタイムスタンプだけをチェックすることができますが、最近ほとんどのOSはファイルシステム操作にフックするAPIを提供し、変更が発生したときに「ping」を受けることができます。これを行うには、使用しているOSによって異なります。 –

+0

@MarcBオペレーティングシステムは主にLinux –

答えて

2

PHPスクリプトは、ページを要求する必要があるため、ファイルの変更を自動的に検出できません。スクリプトを書いてcron(スケジュールされたタスク)を実行することで、毎回実行することができます。または、filemtime()を使用してください。

2

filemtime()を使用すると、ファイルの変更日を知ることができます。私はあなたが正しいことを理解していれば。

変更したファイルを追跡したい場合は、filemtimeを使用することはできますが、現在の変更日(dbやファイルなど)を追跡してこの値を現在の値と比較する必要があります。

定期的にこのphpスクリプトを実行するためにcronジョブを使用することができます。

3

filemtimeを使用できます。これは、ファイルの「最後に変更された」タイムスタンプを返します。 (あなたは、ファイルが変更されたPHPスクリプトを実行している意味ならば、それは単にPHPを使用してはできません。)ファイルが最後に変更されたとき

1
<?php 
// outputs e.g. somefile.txt was last modified: December 29 2002 22:16:23. 

$filename = 'somefile.txt'; 
if (file_exists($filename)) { 
    echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename)); 
} 

?> 

使用this functionを取得します。あなたはあなたの仕事を達成するためにデータで遊ぶことができます。

関連する問題