运行 php 间隔文件
run php file on interval
我有一个仪表板,它按设定的时间间隔播放视频。
它还从 google 分析和 google 实时分析中获取一些数据,以在 google 地图上显示。
为此,它使用 google 地图 javascript api 和 google 分析报告 php api。
该视频位于单独的 js 文件中。
地图(和实时数据)位于单独的 php 文件中。
分析数据也位于单独的 php 文件中。
现在,我遇到的问题是目前我只是使用 <?php include)('filename.php'); ?>
将它们包含在 index.php
中。
哪个有效,它输出我想要的数据、地图和视频。
但现在我想每 15 秒更新一次此信息。
我已经尝试了一些 while{ do something; sleep()}
但这会产生错误,因为它会重新声明以前的函数,例如 analytics()
.
我也尝试了一些 JavaScript setInterval()
并以这种方式包含文件,但这也不起作用。由于所有功能都在这些文件中,我将如何实现每 15 秒更新一次?
我也尝试过一些 GET 请求,但我不只是想要信息,因为所有功能(例如地图和图表)都在那些文件中,所以简单的数据 returns 不需要要么工作。
所以我想要的是:每 15 秒重新加载(就像刷新页面时一样).php
文件。
我不想实际刷新页面,因为这也会重置 JavaScript 视频脚本,这是我不想要的。
我已经阅读了一些关于 cronjob
的内容,是否可以按设定的时间间隔 运行 .php 文件,index.php
(其中包括其他 .php 文件)也会自动更新吗?
最好的办法是将 PHP 包装在 iframe 中,然后像这样每 15 秒重新加载一次 iframe:
const reloadFrame = () =>
document.getElementById('some_frame_id').contentWindow.location.reload();
setInterval(reloadFrame, 15000);
您遇到的问题是 PHP 渲染全部由服务器端处理,因此只需向服务器发出 GET 请求即可 return 整个渲染页面。当然,除非我误解了这个问题,并且您的 filename.php
文件将 return 仅更新地图的数据,在这种情况下,只需编写更新地图的函数并使用 [=12= 调用它]递归。
<meta http-equiv="refresh" content="15">
只需将此添加到 html header
用于定时任务
# crontab -e
00 15 * * * /usr/local/bin/php /home/john/myscript.php
我有一个仪表板,它按设定的时间间隔播放视频。 它还从 google 分析和 google 实时分析中获取一些数据,以在 google 地图上显示。 为此,它使用 google 地图 javascript api 和 google 分析报告 php api。 该视频位于单独的 js 文件中。 地图(和实时数据)位于单独的 php 文件中。 分析数据也位于单独的 php 文件中。
现在,我遇到的问题是目前我只是使用 <?php include)('filename.php'); ?>
将它们包含在 index.php
中。
哪个有效,它输出我想要的数据、地图和视频。
但现在我想每 15 秒更新一次此信息。
我已经尝试了一些 while{ do something; sleep()}
但这会产生错误,因为它会重新声明以前的函数,例如 analytics()
.
我也尝试了一些 JavaScript setInterval()
并以这种方式包含文件,但这也不起作用。由于所有功能都在这些文件中,我将如何实现每 15 秒更新一次?
我也尝试过一些 GET 请求,但我不只是想要信息,因为所有功能(例如地图和图表)都在那些文件中,所以简单的数据 returns 不需要要么工作。
所以我想要的是:每 15 秒重新加载(就像刷新页面时一样).php
文件。
我不想实际刷新页面,因为这也会重置 JavaScript 视频脚本,这是我不想要的。
我已经阅读了一些关于 cronjob
的内容,是否可以按设定的时间间隔 运行 .php 文件,index.php
(其中包括其他 .php 文件)也会自动更新吗?
最好的办法是将 PHP 包装在 iframe 中,然后像这样每 15 秒重新加载一次 iframe:
const reloadFrame = () =>
document.getElementById('some_frame_id').contentWindow.location.reload();
setInterval(reloadFrame, 15000);
您遇到的问题是 PHP 渲染全部由服务器端处理,因此只需向服务器发出 GET 请求即可 return 整个渲染页面。当然,除非我误解了这个问题,并且您的 filename.php
文件将 return 仅更新地图的数据,在这种情况下,只需编写更新地图的函数并使用 [=12= 调用它]递归。
<meta http-equiv="refresh" content="15">
只需将此添加到 html header
用于定时任务
# crontab -e
00 15 * * * /usr/local/bin/php /home/john/myscript.php