PHP file_put_contents在指定的时间

时间:2018-03-29 02:42:36

标签: php

我有一个php文件指向一个这样的网址:

<?php
header('Content-Type: text/plain');
echo file_get_contents($_GET['url']);

除了指向URL之外,我希望我的php文件能够在每天的特定时间将文件写入服务器 - 比如说下午6:00(18:00)。

从我最初的研究来看,写文件部分似乎很直接

file_put_contents('todaysDateData.txt', $_GET['url']);

但是,弄清楚如何在特定时间每天拨打file_put_contents会让我陷入困境。

问题:是否有可能在本机php的每天特定时间以上述方式编写文件?理想情况下,我想用今天的日期和“数据”后缀(即Mar-29-2018.txt)命名文件。

修改

根据以下建议,我研究过cron:我认为我的用例的语法是:

0 18 * * * path/to/my/command.sh

我认为日期语法是正确的,但我仍然对我的php文件如何使用cron感到困惑。我应该将sh文件扩展名更改为php,因为我正在使用file_put_contents吗?或者这个cron日期事情在我的php文件本身中进行,我必须创建一个.sh(不管是什么?)

1 个答案:

答案 0 :(得分:1)

您可以查看时间表和文件名。

<?php

$todayHour = 18;
$todayMinute = 0;
$timeCreate = mktime($todayHour, $todayMinute, 0, date('m'), date('d'), date('Y'));
$todayFilename = 'data-' . date('Y-m-d') . '.txt';

if (time() >= $timeCreate && !file_exists($todayFilename)){
    // Code input content file here
    file_put_contents($todayFilename, $_GET['url']);
}