如何在特定时间运行PHP文件并自动更新数据库字段


How to run PHP FILE for specific time and update Database fields automatically

我是php/mysql的新手。在到处搜索后,我在这里问:我的客户端已经为我提供了一个txt文件,现在我需要一个脚本经常运行,以便txt新数据文件将运行,并同时更新数据库。

我读过的一个选项是Cron,但是我的客户拒绝了这个解决方案,所以我只能使用PHP(或者,如果可能的话,ajax或jquery)的解决方案。

我的代码:

<?php
$string = file_get_contents("mytest.php/test1.txt", "r");
$myFile = "E:/path/test.txt";
$fh = fopen($myFile, 'w') or die("could not open: .mysql_error());
fwrite($fh,$string);
fclose($fh);
// Here is the connection file
$sql=mysql_connect("localhost","root","");
if(!$sql) {
  die("couldnotconnect:", . mysql_error());
}
mysql_select_db("timer"); // databse name
$result=mysql_query("LOADDATAINFILE'$myFile'" ."INTOTABLEchangedtFieldsTERMINATEDBY''");
if (!$result) {
  die("couldnotload . " . mysql_error());
}
?>

但是这个代码不能正常工作。基本上就是另一个文本文件我只是想更新我的数据库,比如:

Database Field:
Name (varchar 250)
LastModification timestamp

您的客户需要了解cron是这个问题的正确解决方案。如果您的脚本需要定期运行,cron是完成它的方法。

如果你不能说服他,还有另外两个不太理想的选择。第一种方法是让脚本一直运行而不退出。它将休眠一段时间,然后唤醒,检查当前时间是否与计划的运行时间匹配,并相应地采取行动。

第二种方法是利用在线调度服务在指定时间通过HTTP请求执行脚本。在线调度服务将在后台使用cron,但您的客户端不需要知道这些。

您不一定需要在web服务器上运行计划任务/CRON。你可以把PHP文件放在你的web服务器上,在另一台机器上有一个叫做PHP脚本的计划任务或cron脚本(通过HTTP GET或SSH终端),这将解决你的问题。

您还可以在2个不同的客户端上安排此调用,以备冗余,并将标记(当天)设置为true,以确保PHP脚本每天只运行一次。

我说的标志是指数据库行,文件中的值或任何其他检查它的方式