如何一次触发 PHP 事件由网站用户决定
How To Trigger Event in PHP At A time Decided by the website's user
我有一个服务器设置,每当访问 HTTP link 时,我家里的灯就会打开和关闭。
我想制作一个网站,让您安排发生这种情况的时间。
我在 运行 这个网站上使用 Apache Raspberry Pi。
我的问题是如何对 raspberry pi 进行编程,使其获取有关何时访问 HTTP link 并从网站打开灯的信息
我不知道这是通过 PHP 在网站上完成的,还是通过 python 在服务器上完成的,还是通过其他方式完成的
任何帮助将不胜感激。
这是到目前为止的代码。
<!DOCTYPE html>
<html>
<head> </head>
<body style="text-align:center;">
<?php
if(isset($_POST['button2'])) {
$command = escapeshellcmd('wget http://192.168.1.128:49949/Test1');
$output = shell_exec($command);
echo $output;
}
?>
<form method="post">
<input type="submit" name="button2"
value="Toggle"/>
</form>
</head>
</html>
这对于单个 SO 问题来说有点太复杂了。我会分成 3 个部分来回答:
如何接收和存储用户的日程安排?
您首先需要一个 HTML 表单,用户可以指定命令到 运行 的时间。棘手的部分是以某种方式存储预定的作业。 PHP 作业调度没有很长的 运行ning 过程。您需要一些永久性存储。
例如,
- SQLite through PDO
- MariaDB / MySQL through PDO.
- 通过 fputcsv and fgetcsv
使用 CSV
- 使用 fwrite and fread 实现您自己的存储格式。
如何运行定时作业?
如前所述,PHP 运行ning 计划作业没有很长的 运行ning 过程。 Linux 系统定期有 cron 到 运行 的东西。您可以安排它定期 运行 一个 PHP 脚本。然后在 PHP 脚本中,您可以实现逻辑以实际 运行 存储的计划作业。
您可以使用 some scheduler library 来帮助您。
我有一个服务器设置,每当访问 HTTP link 时,我家里的灯就会打开和关闭。 我想制作一个网站,让您安排发生这种情况的时间。 我在 运行 这个网站上使用 Apache Raspberry Pi。 我的问题是如何对 raspberry pi 进行编程,使其获取有关何时访问 HTTP link 并从网站打开灯的信息 我不知道这是通过 PHP 在网站上完成的,还是通过 python 在服务器上完成的,还是通过其他方式完成的 任何帮助将不胜感激。 这是到目前为止的代码。
<!DOCTYPE html>
<html>
<head> </head>
<body style="text-align:center;">
<?php
if(isset($_POST['button2'])) {
$command = escapeshellcmd('wget http://192.168.1.128:49949/Test1');
$output = shell_exec($command);
echo $output;
}
?>
<form method="post">
<input type="submit" name="button2"
value="Toggle"/>
</form>
</head>
</html>
这对于单个 SO 问题来说有点太复杂了。我会分成 3 个部分来回答:
如何接收和存储用户的日程安排?
您首先需要一个 HTML 表单,用户可以指定命令到 运行 的时间。棘手的部分是以某种方式存储预定的作业。 PHP 作业调度没有很长的 运行ning 过程。您需要一些永久性存储。
例如,
- SQLite through PDO
- MariaDB / MySQL through PDO.
- 通过 fputcsv and fgetcsv 使用 CSV
- 使用 fwrite and fread 实现您自己的存储格式。
如何运行定时作业?
如前所述,PHP 运行ning 计划作业没有很长的 运行ning 过程。 Linux 系统定期有 cron 到 运行 的东西。您可以安排它定期 运行 一个 PHP 脚本。然后在 PHP 脚本中,您可以实现逻辑以实际 运行 存储的计划作业。
您可以使用 some scheduler library 来帮助您。