我有一个PHP网站,它解析XML并在网页上显示它。 XML文件经常更改,因此更改网页。它每30分钟改变一次。
我希望能够获取XML数据并将其插入到我的MySQL数据库中。但是,每次更新XML时都找不到将数据插入数据库的方法,因为必须涉及客户端,如果在30分钟内访问了多个页面,数据将被多次插入时间跨度。
每次更新XML文件时,我希望我的数据如下:
XML - > PHP - >数据库
这可能是不可能的,所以我理解我可能必须使用单独的脚本语言来使用措辞的XML内容来更新数据库。由于XML更改必须触发数据库更新,因此在这种情况下PHP可能不起作用。 XML通过简短的Bash脚本更新。我研究过使用BASH但是它似乎不适合解析XML和更新数据库,而且对我来说这将是一个巨大的学习曲线。 我在Ubuntu机器上运行它。
任何建议和帮助表示赞赏。
答案 0 :(得分:0)
感谢史密斯和蒂姆莫顿,我找到了解决方案。
我创建了一个单独的PHP文件,它将XML解析为变量并将数据插入数据库。
要运行更新XML文件的Nmap脚本,我使用了一个调用bash脚本的cron作业。在运行Nmap之后的bash脚本中,我将目录位置更改为包含我的脚本的文件夹以及我的XML文件。然后我用PHP CLI运行PHP文件(php -f /xxx/xxx/php.php)。
因此,我没有使用触发器来查明XML文件是否发生了变化,而是在另一个在同一个bash脚本中调用的PHP文件中更新了数据库。
IT工作原理如下:
Cron job > BASH script > Run Nmap > update XML
> call PHP file > update database
再次感谢,Smith和Tim Morton