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';

一般还需去掉注释 //

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).具体判断方法如下

阅读全文 »

Hexo

发表于 2016-09-28   |   分类于 笔记

介绍

以下将详细介绍使用GitHub Pages和Hexo搭建免费独立博客的教程。你可以不需要服务器,完全免费地搭建出一个强大而漂亮的独立个人博客,甚至是公司网站。即便你是0基础,只要照做也能搞定。因为个人用的是Mac所以以下只是针对Mac OSX下的过程记录。

阅读全文 »

OS X LAMP

发表于 2016-06-22   |   分类于 笔记

mac下没有绿色环保的lamp一键包;简单记录一下配置过程,偶尔能用上。
主要利用Homebrew安装mysql并使用系统自带apache,建议使用前先可以“科学上网”,不然可能会有障碍。

阅读全文 »

Typecho博客主题模版制作常用代码之用户篇

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

获取密码

<?php $this->author->password(); ?> 

获取用户名

<?php $this->author->name(); ?> 

获取用户昵称

<?php $this->author->screenName(); ?>

获取用户名带链接

<?php $this->author(); ?>

获取用户ID

<?php $this->author->uid(); ?>

获取用户头像

<?php $this->author->gravatar('120', '') ?>


<img src="http://cn.gravatar.com/avatar/<?php echo MD5($this->author->mail); ?>?s=120" alt="" class="" />

备注:其中120代表方形图像的宽和高。获取头像,第一个傻瓜版,后面‘’中可以放入一个图片地址,当mail没有注册gravatar.com时采取改设置;第二个可以对img更多自定义比如自定义alt、class等

获取用户全部文章列表链接

<?php $this->author->permalink(); ?>

获取用户个人网站链接

<?php $this->author->url(); ?>

获取用户邮箱

<?php $this->author->mail(); ?>
© 2019 Powered by Typecho & Theme Quark