php+apache - 确定文件是否已被提供/访问?

php+apache - 确定文件是否已被提供/访问?

我有一个进程正在创建一个需要通过公共链接访问的文件。服务器是 debian 10 上的 apache2。我想知道何时/是否已提供该文件,并触发 php 进程。如果我可以通过网络调用 php 页面并让它在文件被访问时显示“是/否”状态,那就太好了。

你会如何着手建立这样的东西?它会是一个在 apache 中执行并以某种方式消耗和解析访问日志的 php 脚本吗?或者有没有办法让进程监视文件/目录以查看读取操作,然后触发其他操作(例如,触摸其他地方的文件以显示已发生读取)。

答案1

不清楚你在这里问什么。

当文件被“提供”时,您将在 access_log 中获得一个条目。如果您希望在“提供”文件时执行其他操作,请将其保留在文档根目录之外,并提供读取和返回文件的脚本的 URL。如果您事先不知道文件名,或者不知道如何将文件名映射到 PHP 脚本(mod_rewrite、pathinfo、索引处理程序),则将脚本挂起 404 处理程序。

如果您需要一种除了通过网络服务器之外还可以访问文件的机制,请将其放在使用“atime”安装的文件系统上,然后比较 mtime 和 atime 或使用 inotify 进行监控。

相关内容