You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP实现每日指定时间自动执行file_put_contents写入文件需求

嘿,我来帮你解决这个定时执行PHP代码的问题!要实现每天18:00自动写入文件,最靠谱的方式是利用系统级的定时任务工具,下面分两种常见服务器系统给你详细说明:

方法一:Linux 系统用 Cron Job(最常用)

Cron 是 Linux 自带的定时任务调度工具,配置起来很简单:

两种执行方式任选其一:

1. 通过 HTTP 请求触发(适合不想改太多代码的情况)

如果你的 PHP 文件已经可以通过公网访问(比如 http://你的域名/yourfile.php),直接在 Cron 里用 curl 或 wget 带参数访问它就行:

  • 登录服务器,执行 crontab -e 打开 Cron 编辑界面
  • 添加一行定时规则:
    0 18 * * * curl "http://你的域名/yourfile.php?url=https://你要写入的目标URL"
    
    解释下 Cron 格式:分 时 日 月 周,0 18 * * * 就代表每天18点整执行这个命令。

2. 直接用 PHP CLI 执行(更安全,无需暴露HTTP接口)

这种方式需要稍微调整下你的PHP代码,让它支持命令行传参:

<?php
// 优先从命令行参数获取目标URL,其次用GET参数(兼容原有功能)
$targetUrl = $argv[1] ?? $_GET['url'] ?? '';

if ($targetUrl) {
    // 执行写入逻辑
    file_put_contents('todaysDateData.txt', $targetUrl);
    
    // 如果是通过HTTP访问的,依然保留原有的输出功能
    if (!empty($_GET['url'])) {
        header('Content-Type: text/plain');
        echo file_get_contents($targetUrl);
    }
}

然后配置 Cron:

  • 执行 crontab -e,添加:
    0 18 * * * php /服务器上你的PHP文件绝对路径/yourfile.php https://你要写入的目标URL
    
方法二:Windows 系统用任务计划程序

如果你的服务器是Windows系统,用自带的任务计划程序就能实现:

  • 打开「任务计划程序」,点击「创建基本任务」
  • 按向导设置:任务名称随便填,触发条件选「每天」,设置时间为18:00
  • 操作选「启动程序」,程序或脚本选你PHP安装目录下的 php.exe(比如 C:\php\php.exe)
  • 添加参数:填入你的PHP文件路径加目标URL,比如 "C:\网站目录\yourfile.php" "https://你要写入的目标URL"
  • 完成向导,任务就会每天自动执行了
注意事项
  • 权限问题:确保运行PHP的用户(Cron或任务计划的执行用户)有todaysDateData.txt所在目录的写入权限,不然会执行失败
  • 日志排查:可以给定时任务加日志输出,比如Linux Cron后面加 >> /var/log/php_cron.log 2>&1,方便出问题时查原因
  • URL固定:如果目标URL是固定的,也可以直接写死在PHP代码里,不用每次传参,更省心

内容的提问来源于stack exchange,提问作者Arash Howaida

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:45:13