我有一个MySQL数据库,里面有一些网址。每行一个URL。每个URL都有我的脚本。我想要做的是通过PHP脚本检查文件是否仍然存在。不检查它是否404,而是检查它是否已被修改或替换。这可能吗?如果是这样,它将如何实现?
我在考虑让远程文件回显一些字符串,并让本地文件检查该字符串的页面,但这似乎有点低效和草率。
编辑:远程文件不向远程用户输出任何数据,它们会触发内部脚本,因此远程用户只能看到白页。 (检查脚本也只会看到这个)
答案 0 :(得分:2)
MD5()
或SHA1()
哈希。还有其他方法(例如Last-Modified
HTTP标头),但它们不适用于所有服务器。
答案 1 :(得分:1)
你可以要求文件在某些条件下发送他的md5,例如:
if($_GET['md5hash']==true)
{
echo md5($_SERVER['SCRIPT_FILENAME']);
}
您可以通过接收他的md5或通过他的md5接收不同的内容来轻松了解您的脚本是否已更改,但我不知道您的分数是多少。
答案 2 :(得分:1)
只需使用
md5_file('http://path.to/file');
并存储哈希以便稍后检查
答案 3 :(得分:0)
如果网址是本地文件,则可以在每个文件上使用filemtime,并根据表中的修改时间行检查时间。
答案 4 :(得分:0)
您也可以在远程文件上使用stat
并查看mtime
记录。