汾河美景

发表于 2019-10-07   |   分类于 生活志

redmi K20 pro摄于汾河公园

php中启用proc_open函数

发表于 2019-09-29   |   分类于 笔记

proc_open

一个php函数,执行一个命令,并且打开用来输入/输出的文件指针。
说白了就是可以操作执行服务器命令行。

在Laravel开发中,碰到用redis需要proc_open函数,我们只需要打开php.ini找到如下这样的地方

disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

我们只需要找到proc_open并删除即可使用了。

原生JS给元素添加class属性

发表于 2019-07-02   |   分类于 笔记
document.getElementsByTagName('body')[0].className = 'snow-container'; //设置为新的
document.getElementsByTagName('body')[0].className += 'snow-container'; //在原来的后面加这个
document.getElementsByTagName('body')[0].classList.add("snow-container"); //与第一个等价

typecho主题制作数据库常用api

发表于 2019-06-27   |   分类于 笔记

Typecho数据库常用api

表创建和删除

在Typecho插件开发过程中,往往需要创建自己的表。上文提到Typecho_Db类中的query函数,可用于执行所有sql语句,因此我们使用query()来进行表的创建、修改或者删除。

阅读全文 »

typecho主题函数functions.php里面怎么获取$this

发表于 2019-06-25   |   分类于 笔记

Typecho大部分请求的路由,都会转发到Widget_Archive中,在execute()函数中,即大概1357行处,有如下代码:

/** 初始化皮肤函数 */
$functionsFile = $this->_themeDir . 'functions.php';
if (!$this->_invokeFromOutside && file_exists($functionsFile)) {
    require_once $functionsFile;
    if (function_exists('themeInit')) {
        themeInit($this);
    }
}

可见,functions.php只是作为一个普通的文件require了进来。

很多时候,我们需要在functions.php定义工具类函数,则需要获取到当前页面的$this
最简单的方式就是从参数传进来啦~譬如下面的函数:

function main_picture_of($archive){
    if(isset($archive->fields->main_pictrue)){
        return $archive->fields->main_pictrue;
    }else{
        return  Helper::options()->themeUrl."/static/nothumb.png";
    }
}

上述函数获取当前文章的主图,如果存在main_pictrue字段,则返回此字段,否则返回nothumb.png
然后在页面模板中,直接这样调用即可:

<img src="<?php echo main_picture_of($this) ?>"></img>

是不是很方便呢

skycaiji蓝天采集关联页强制补全网址问题

发表于 2019-06-20   |   分类于 笔记

如题,解决方案如下:
在CMS插件中,写入该数据到数据库之前,加入

$dlist= str_replace("http://www.btbtdy.me/vidlist/","",$params['dlist']);

如需替换其他,再加一条替换网址就行!

PHP实现中文字符串截取无乱码

发表于 2019-06-19   |   分类于 笔记

首先我们要了解关于中英文占多少字节的问题。
ASCII码:一个中文汉字占两个字节的空间。
UTF-8编码:一个中文(含繁体)等于三个字节。
Unicode编码:一个中文(含繁体)等于两个字节。

几个简单的代码示例

一、关于substr函数截取字符串

<?php echo substr("PHP中文网", 0, 5);?>

substr:返回字符串的子串。
substr()中第一个参数表示要截取的字符串,第二个参数表示从0位置开始截取,第三个参数表示截取长度。
截取“PHP中文网”前5个字节,结果:php??(乱码)
也就是说当我们使用substr函数进行中英文字符串截取时,会出现乱码。

二、关于mb_substr函数截取字符串

<?php echo mb_substr("PHP中文网", 0, 5);?>

mb_substr:获取部分字符串。
截取“PHP中文网”前5个字符,结果:php中文;截取了前五个字符,并且没有出现乱码。
注:mb_substr是根据字符数(部分中英文)来执行截取字符串。

三、关于mb_strcut函数截取字符串

<?php echo mb_strcut("PHP中文网", 0, 7);?>

截取“PHP中文网”前7个字节,结果:php中;可以看到,我们要截取7个字节,但是只显示截取了“PHP中”这6个字节。由于一个汉字等于三个字节,那么这里第7个字节就不会显示了。

使用phpmyadmin一直提示这个警告,看着难受:
解决:
修改文件:/etc/phpmyadmin/config.inc.php
或着其他/www/server/phpmyadmin/phpmyadmin_*字符串/config.inc.php
在最后添加这一句,

$cfg['senderrorreports'] = 'never';

一般还需去掉注释 //

魅族Pro6s更新安卓7.1后完美root及xp框架

发表于 2017-09-07   |   分类于 生活志

Flyme是个好用的安卓系统,但也是个不好调教的系统。自从升级了安卓7.0+系统,原先折腾的xp框架就彻底残废了,甚至都不能完全root了。查了一些资料,整理了一下,留个笔记!如果确保每一步都严格执行就没有问题。

阅读全文 »

Adblock规则

发表于 2017-06-26   |   分类于 笔记

屏蔽特定class,##DIV.ads##DIV[class="ads"]
屏蔽特定ID,##DIV#ads##DIV[id="ads"]
屏蔽含通配符的class(或ID)##DIV[class*="ads"](或##DIV[id*="ads"]
屏蔽顶级域名||sinaimg.cn^
屏蔽特定文件名,如gif图片*.gif,或满足否条件的文件##IMG[src*="ads"]
以标签名来屏蔽,如屏蔽<textad></textad>可以用##textad

阅读全文 »

typecho不使用插件实现Ajax评论功能

发表于 2017-06-26   |   分类于 笔记

为了不使用插件实现Ajax评论功能需要实现:

监听评论表单,改用ajax方式提交
创建新的评论表单提交地址(用Typecho 主题提供的系统方法themeInit实现)

当访问文章加载主题时,themeInit方法首先被加载,可在此方法中判断是否为添加评论的操作,即新的评论表单地址为文章的链接(permalink).具体判断方法如下

阅读全文 »

Theme Quark For Typecho

发表于 2017-05-11   |   分类于 分享

完善而极度精简的Typecho主题,在极简方面不做“之一”而是真正极致的“唯一”。
Name:Quark;Description:“简爱”;Feature:自适应,极速,精致!Size:5.9k(未压缩)

阅读全文 »

© 2019 Powered by Typecho & Theme Quark