typecho利用计划任务和金山词霸每日一句,每天自动发表说说。

首先,先要确定你的服务器是否可以设置计划任务。

根据服务器的不同,或有或没有支持计划任务的,这里不多叙说。

如果不支持计划任务,却还要使用,你可以利用 PHP 或其他脚本进行,但并不推荐!

typecho利用计划任务和金山词霸每日一句,每天自动发表说说。
代码奉上:

<?php
// 文件编码
header("Content-Type: text/html; charset=utf-8");
// 设置时间地区 -> 上海
date_default_timezone_set("Asia/Shanghai");
// 引入文件
require_once dirname(__FILE__) . './config.inc.php';
$db = Typecho_Db::get();
// 获取用户信息
$getUserSql = $db -> select() -> from('table.users') -> limit(1);
$user = $db -> fetchRow($getUserSql);
// 浏览器 UA, 如果要显示来自微信, 更改为: "weChat"
$agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36";
// 获取说说 cid
$getCrossSql = $db -> fetchAll($db -> select() -> from('table.contents') -> where('template = ?', 'cross.php'));
// 是否有创建 cross 模板的独立页
if(count($getCrossSql) > 0) {
$Source = json_decode(file_get_contents("http://open.iciba.com/dsapi"), 1);
// 内容
$content = "<img src=\"{$Source['picture2']}\"/>
- {$Source['content']}
- {$Source['note']}
[hplayer title=\"{$Source['caption']}\" author=\"{$Source['dateline']}\" url=\"{$Source['tts']}\" size=\"small\" auto=\"false\" /]";
$cid = $getCrossSql[0]['cid'];
// 添加记录
$insert = $db -> insert('table.comments') -> rows(array("cid" => $cid, "created" => time(), "author" => $user['screenName'], "authorId" => $user['uid'], "ownerId" => $user['uid'], "text"=> $content, "url" => $user['url'], "mail" => $user['mail'], "agent" => $agent));
$insertId = $db->query($insert);
// 修改新鲜事 + 1
$row = $db -> fetchRow($db -> select('commentsNum') -> from('table.contents') -> where('cid = ?', $cid));
$db -> query($db -> update('table.contents') -> rows(array('commentsNum' => (int) $row['commentsNum'] + 1)) -> where('cid = ?', $cid));
echo "success!";
} else {
echo "error!";
}
?>

将代码复制保存到文件名.php中,上传至typecho根目录,保证与文件config.inc.php在同一目录中,通过url访问即可。
例:https://你的域名/文件名.php
当然,你也可以修改内容,这里只是作为一个引子。

文章版权归原作者所有或来自互联网,未经允许请勿转载。如有侵权请联系我删除,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>