首页
朋友圈
留言板
关于
Search
1
基于Vue和DataV的数据可视化模板
1812 阅读
2
阿里云盘来了(附带内测码)
844 阅读
3
玛莉嘉 原视频
788 阅读
4
自律
728 阅读
5
CG《目标》完整版
615 阅读
技术分享
博客
大数据
前端
生活
资源分享
Search
标签搜索
typecho
PHP
数据分析
博客
大数据
资源分享
Hadoop
日常分享
小程序源码
免费分享
css
前端
HDFS
面试题
技术分享
阿里云盘
Chrome
开源项目
大数据可视化
JS
木子卜
累计撰写
54
篇文章
累计收到
66
条评论
首页
栏目
技术分享
博客
大数据
前端
生活
资源分享
页面
朋友圈
留言板
关于
搜索到
7
篇与
typecho
的结果
Typecho实现评论显示操作系统和浏览器信息
首先找到主题根目录,打开 functions.php 文件,在函数区域(不是最顶端)粘贴下面的代码// 获取浏览器信息 function getBrowser($agent) { if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs)) { $outputer = 'Internet Explore'; } else if (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs)) { $str1 = explode('Firefox/', $regs[0]); $FireFox_vern = explode('.', $str1[1]); $outputer = 'FireFox'; } else if (preg_match('/Maxthon([\d]*)\/([^\s]+)/i', $agent, $regs)) { $str1 = explode('Maxthon/', $agent); $Maxthon_vern = explode('.', $str1[1]); $outputer = 'MicroSoft Edge'; } else if (preg_match('#360([a-zA-Z0-9.]+)#i', $agent, $regs)) { $outputer = '360 Fast Browser'; } else if (preg_match('/Edge([\d]*)\/([^\s]+)/i', $agent, $regs)) { $str1 = explode('Edge/', $regs[0]); $Edge_vern = explode('.', $str1[1]); $outputer = 'MicroSoft Edge'; } else if (preg_match('/UC/i', $agent)) { $str1 = explode('rowser/', $agent); $UCBrowser_vern = explode('.', $str1[1]); $outputer = 'UC Browser'; } else if (preg_match('/QQ/i', $agent, $regs)||preg_match('/QQ Browser\/([^\s]+)/i', $agent, $regs)) { $str1 = explode('rowser/', $agent); $QQ_vern = explode('.', $str1[1]); $outputer = 'QQ Browser'; } else if (preg_match('/UBrowser/i', $agent, $regs)) { $str1 = explode('rowser/', $agent); $UCBrowser_vern = explode('.', $str1[1]); $outputer = 'UC Browser'; } else if (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs)) { $outputer = 'Opera'; } else if (preg_match('/Chrome([\d]*)\/([^\s]+)/i', $agent, $regs)) { $str1 = explode('Chrome/', $agent); $chrome_vern = explode('.', $str1[1]); $outputer = 'Google Chrome'; } else if (preg_match('/safari\/([^\s]+)/i', $agent, $regs)) { $str1 = explode('Version/', $agent); $safari_vern = explode('.', $str1[1]); $outputer = 'Safari'; } else{ $outputer = 'Google Chrome'; } echo $outputer; } // 获取操作系统信息 function getOs($agent) { $os = false; if (preg_match('/win/i', $agent)) { if (preg_match('/nt 6.0/i', $agent)) { $os = 'Windows Vista · '; } else if (preg_match('/nt 6.1/i', $agent)) { $os = 'Windows 7 · '; } else if (preg_match('/nt 6.2/i', $agent)) { $os = 'Windows 8 · '; } else if(preg_match('/nt 6.3/i', $agent)) { $os = 'Windows 8.1 · '; } else if(preg_match('/nt 5.1/i', $agent)) { $os = 'Windows XP · '; } else if (preg_match('/nt 10.0/i', $agent)) { $os = 'Windows 10 · '; } else{ $os = 'Windows X64 · '; } } else if (preg_match('/android/i', $agent)) { if (preg_match('/android 9/i', $agent)) { $os = 'Android Pie · '; } else if (preg_match('/android 8/i', $agent)) { $os = 'Android Oreo · '; } else{ $os = 'Android · '; } } else if (preg_match('/ubuntu/i', $agent)) { $os = 'Ubuntu · '; } else if (preg_match('/linux/i', $agent)) { $os = 'Linux · '; } else if (preg_match('/iPhone/i', $agent)) { $os = 'iPhone · '; } else if (preg_match('/mac/i', $agent)) { $os = 'MacOS · '; }else if (preg_match('/fusion/i', $agent)) { $os = 'Android · '; } else { $os = 'Linux · '; } echo $os; }comments.php 中找到合适位置(比如评论作者的后面)添加以下代码:<?php getOs($comments->agent); ?><?php getBrowser($comments->agent); ?>
2020年11月17日
196 阅读
0 评论
2 点赞
2020-11-17
Typecho写文章时插入表格的方法
前言我们写文章时,经常会引入一些表格,这种操作是基于markdown的,也是markdown插入表格的方法。插入表格下面给出了表格居中写法,很简单就能写出一个表格。:-:|:-:|:-: 网站名称|网站地址|网站描述 木子卜|www.hieac.cn|IT部落网站名称网站地址网站描述木子卜www.hieac.cnIT部落其中的:-:,代表居中的意思;:-,代表靠左对齐;-:,代表靠右对齐;|,代表表格线。
2020年11月17日
177 阅读
0 评论
0 点赞
Typecho博客迁移
2020年11月16日
190 阅读
0 评论
3 点赞
2020-11-16
1、在新机器上先搭建好一个新的Typecho博客,数据库名称保持和原博客相同。2、备份原博客的usr目录。3.1、备份整个mysql数据库,命令:mysqldump -uroot -p --all-databases > sqlfile.sql3.2、或备份特定数据库,命令:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql4、将备份的数据库文件上传到新机器,同时将备份的数据库导入到新机器的mysql中。命令:mysql -uroot -p < sqlfile.sql注:如果是导入特定的数据库,必须确保数据库必须已经存在。5、将备份的usr目录,上传到新机器覆盖原来的usr目录(注意是博客的usr目录)。
使Typecho支持Emoji表情
2020年11月16日
172 阅读
0 评论
1 点赞
2020-11-16
最近写文章的时候用到了emoji,发现报错:Database Query Error解决办法1、进入数据库,直接运行下列语句:alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_general_ci; alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_general_ci; alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_general_ci; alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_general_ci; alter table typecho_options convert to character set utf8mb4 collate utf8mb4_general_ci; alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_general_ci; alter table typecho_users convert to character set utf8mb4 collate utf8mb4_general_ci;2、修改数据库的配置文件网站根目录数据库配置文件config.inc.php,大约在60行/** 定义数据库参数 */ $db = new Typecho_Db('Pdo_Mysql', 'typecho_'); $db->addServer(array ( ... 'charset' => 'utf8mb4', // 将原来的utf8修改为 utf8mb4 ... ), Typecho_Db::READ | Typecho_Db::WRITE); Typecho_Db::set($db);
typecho给新文章添加new标志
我们很多站长是否看到有些网友博客的内容最新文章边上会有一个NEW标签,这样感觉体验稍微好一些,至少可以看到最新有更新文章,值得我们去点击查阅。这个是如何实现的呢?这里正好小梁同学之前有需要用到的,今天正好整理出来,以后需要在主题中用到就给他用。/** * 时间函数 * */ function timeZone($from){ $now = new Typecho_Date(Typecho_Date::gmtTime()); return $now->timeStamp - $from < 246060 ? true : false; } Select CodeCopy先定义一个时间函数,放到我们主题的函数页面中。<?php if(timeZone($this->date->timeStamp)) echo ' new'; ?> Select CodeCopy然后在我们需要调用的首页列表页面,在需要的位置添加上代码,当然我们可以修改NEW标签的样式。
2020年11月16日
119 阅读
0 评论
2 点赞
解决typecho的cid不连续的问题
2020年11月16日
127 阅读
0 评论
1 点赞
2020-11-16
Typecho下文章编号(cid)不连续,虽然不影响什么,也无关紧要,但是对于有强迫症的人来说,是无法忍受。不过网上有大佬给出来解决办法。将以下代码保存为php文件,上传至网站根目录,在浏览器地址栏访问一下即可。 提醒:请在PHP7以下版本的服务器上执行。本操作涉及数据库,请提前做好备份工作。 解决cid不连续的问题Tips 文章cid重新排列后,上传的附件所属文章可能不正确,需手动修改。<?php /** * Typecho重新排列不连续的文章ID * 作者:http://www.n-1.cn/ */ $hostname_blog = "localhost"; $database_blog = "数据库名"; $username_blog = "数据库用户名"; $password_blog = "数据库密码"; $blog = mysql_pconnect($hostname_blog, $username_blog, $password_blog) or trigger_error(mysql_error(),E_USER_ERROR); $no = 1; function change_id($cid) { global $no; // 修改post cid,并修改分类、标签、自定义字段、评论的对应关系 $sql = 'update typecho_contents set cid = ' . $no . ' where cid = ' . $cid; mysql_query($sql); $sql = 'update typecho_relationships set cid = ' . $no . ' where cid = ' . $cid; mysql_query($sql); $sql = 'update typecho_comments set cid = ' . $no . ' where cid = ' . $cid; mysql_query($sql); $no = $no + 1; } mysql_select_db($database_blog, $blog); $query_postRecord = "SELECT cid FROM typecho_contents ORDER BY cid ASC"; $all_postRecord = mysql_query($query_postRecord); $row_postRecord = mysql_fetch_assoc($all_postRecord); do { change_id( $row_postRecord['cid'] ); } while ($row_postRecord = mysql_fetch_assoc($all_postRecord)); // 重新设置post id自增起点 mysql_query('alter table typecho_contents AUTO_INCREMENT = ' . $no); echo 'ok'; ?>
2020-11-16
Typecho添加评论时出现Database Query Error
问题:有一些浏览器的UA头过长,而typecho数据库里储存UA头的字段过短,导致Database Query Error,特别是在QQ,微信的内置浏览器博客评论的时候经常会出现。解决方法:打开typecho数据库里的typecho_comments表里面有个agent字段,调整agent字段容量,调大一点步骤:1.进入typecho_comments表2.调整里面的agent字段3.agent字段默认200,调到500就没事了当然你也可以执行以下SQL语句实现alter table typecho_comments modify column agent varchar(500);
2020年11月16日
114 阅读
0 评论
0 点赞