PHP - 远程文件更改时的电子邮件通知

2022-01-06 00:00:00 email file notifications php

我想知道是否有办法让我的 Web 服务器上的 php 脚本在来自另一个 Web 服务器的文件发生更改时向我发送电子邮件.

I was wondering if there's a way to have a php script on my web server email me whenever a file from another web server changes.

例如,有一个经常变化的文件:http://media1.clubpenguin.com/play/en/web_service/game_configs/paper_items.json

For instance, there's this file that changes frequently: http://media1.clubpenguin.com/play/en/web_service/game_configs/paper_items.json

我写了一篇关于游戏的博客,该文件对于在我的竞争对手之前创建更新帖子非常重要.但我经常忘记检查它.

I blog about a game and that file is very important for creating post on updates before my competitors. I often forget to check it though.

有没有办法让脚本在文件更新时通过电子邮件发送给我,或者检查该文件以查看它是否已更新,如果有则通过电子邮件发送给我?

Is there a way to have a script email me whenever that file updates, or check that file to see if it has updated, and email me if it has?

推荐答案

您需要将这两个文件放在同一个文件夹中.

You need have this two files in same folder.

  • old.json
  • scriptForCron.php

在 scriptForCron.php 中写:

$url='http://media1.clubpenguin.com/play/en/web_service/game_configs/paper_items.json';
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$execute = curl_exec($ch);

$fp=fopen('old.json','w+');
$oldjson=fread($fp,filesize('old.json'));

if($execute!=$oldjson){
 mail('your@mail.com','Yoohoo', 'File changed');
 fputs($fp,$execute);
}
fclose($fp);

然后将 scriptForCron.php 添加到 cron 作业.您可以要求托管支持.

And then add scriptForCron.php to cron job. You can ask hosting support for it.

相关文章