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

如何在特定时间运行PHP文件并自动更新数据库字段,php,mysql,Php,Mysql,我对php/mysql非常陌生。在搜索了所有地方后,我在这里问:我的客户已经为我提供了一个txt文件,现在我需要一个经常运行的脚本,以便运行txt新数据文件,同时更新数据库 我读到的一个选项是Cron,但我的客户拒绝了该解决方案,所以我只能使用基于PHP(或者,如果可能的话,使用ajax或jquery)的解决方案 到目前为止,我的代码是: <?php $string = file_get_contents("mytest.php/test1.txt", "r"); $myFile = "E

我对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());
}
?>

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

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

当我指的是flag时,我指的是数据库行、文件中的值或任何其他检查方法
脚本已在当天运行。

您的客户需要了解cron是解决此问题的正确方法。如果您的脚本需要按常规计划运行,那么cron就是实现它的方法

如果你无法说服他,还有两个不太理想的选择。第一个是在不退出的情况下一直制作脚本。它将休眠一段时间,然后醒来,检查当前时间是否与计划的运行时间匹配,并相应地采取行动


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

使用cron作业在指定的时间内运行php文件谢谢您,先生,但我不能使用cron一整天我已经搜索了这个,但客户否认我必须只使用php,否则我可以使用ajax或jquery,如果可能的话,无论如何,谢谢你检查我的问题。请只把代码放在代码标签中。Crontab确实是你完成任务的唯一方法。先生,我对cron或Crontab不太了解,让我先检查一下。你为什么要在fopen()上检查mysql_error()?事实上,我需要经常运行的脚本,它不应该一天运行一次,而是多次运行。如果有人能帮助我使用AJAX或JQUERY,我也非常感激,但仍然在努力寻找这样的脚本CODE@Prerak戴夫:使用所有的帽子和锁是不礼貌的。
Database Field:

Name (varchar 250)
LastModification timestamp