解決方法を探していますが、ログファイルを削除する必要がありますが、削除呼び出しが行われた時点でアクセスされている可能性があります。アクセスされることによって、私はプロセスがファイルを読み書きしていることを意味します。そのような場合、ファイルを削除せずにスキップする必要があります。また、私のサーバーはLinuxで、PHPはApacheで動作しています。現在アクセスされていない場合にファイルを削除する
私は何を探していますが(in pseudo-code
)のようなものされています
<?php
$path = "path_to_log_file";
$log_file = "app.log";
if(!being_accessed($log_file))
{
unlink($path.$log_file);
}
?>
今、私の質問は、私はbeing_accessed
を定義する方法ですか?私は、PHPでこれに直接言語機能がないかもしれないことを知っています。私は
任意の提案/洞察力を歓迎します(?多分)last_access_time
のようなセクションの組み合わせを使用する方法について考えてflock
(しかし、これは、ファイルがflock
アクセスアプリケーションによって-edたこれらの条件に有用である)しています...
「アクセス中」ファイルをどのように定義していますか? –
プロセスを読むか、書くことがあるかもしれません。 –
はLinux上で問題にはなりませんが、ファイルはすべてのファイルポインタが閉じられるまで実際には削除されません。 – SirDarius