代码语法高亮插件整理

语法高亮是文本编辑器用来显示文本的,特别是源代码,根据不同的类别来用不同的颜色和字体显示。这个功能有助于编写结构化的语言,比如编程语言,标记语言,这些语言的语法错误显示是有区别的。语法高亮并不会影响文本自身的意义,而且能很好的符合人们的阅读习惯。

语法高亮同时也能帮助开发者很快的找到他们程序中的错误。例如,大部分编辑器会用不同的颜色突出字符串常量。所以,非常容易发现是否遗漏了分隔符,因为相对于其他文本颜色不同。

现 在有各种各样的语法高亮工具,可以格式化语言,并且根据不同的编程语言进行高亮显示。无论是个 HTML 页面还是 PHP,Ruby,Python 或者是 ASP。这篇文章中,我们会介绍 15 款最好的代码语法高亮工具,帮助大家用更迷人的方式展示代码片段。Enjoy! (更多…)

php的file_get_contents()的高级用法

读取文件,读取网页,file_get_contents总是首选。既简单,又高效。

读取网页:

 $content = file_get_contents("http://imhuchao.com")

这里要说的是file_get_contents的一些”高级”的用法,平时大概用不上。

file_get_contents可以用来发送post请求,设定超时时间等等,不弱于curl。

函数说明是这样子的

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )

其中第三个参数$context能够让file_get_content发送post请求,控制超时等功能

先看一个简单地例子,下面是一个发送post数据的示例,并且设定超时时间为5s

 //发送的post数据
$data = array("hello"=>"1");
// 创建contentxt流
$opts = array(
 'http'=>array(
 'method'=>"POST",
 'content'=>http_build_query($data),
 'timeout'=>'5'
 )
);

$context = stream_context_create($opts);


$file = file_get_contents('http://www.example.com', false, $context);
?>

http context的参数项

http的context有这么一些参数,根据这些组合能让file_get_contents不弱于curl

method (string)
远程服务器支持的 GET,POST 或其它 HTTP 方法。

默认值是 GET。
header (string)
请求期间发送的额外 header 。在此选项的值将覆盖其他值 (诸如 User-agent:, Host: 和 Authentication:)。
user_agent string
要发送的 header User-Agent: 的值。如果在上面的 header context 选项中没有指定 user-agent,此值将被使用。

默认使用 php.ini 中设置的 user_agent。
content (string)
在 header 后面要发送的额外数据。通常使用POST或PUT请求。
proxy (string)
URI 指定的代理服务器的地址。(e.g. tcp://proxy.example.com:5100).
request_fulluri (boolean)
当设置为 TRUE 时,在构建请求时将使用整个 URI 。(i.e. GET http://www.example.com/path/to/file.html HTTP/1.0)。 虽然这是一个非标准的请求格式,但某些代理服务器需要它。

默认值是 FALSE.
follow_location (integer)
跟随 Location header 的重定向。设置为 0 以禁用。

默认值是 1。
max_redirects (integer)
跟随重定向的最大次数。值为 1 或更少则意味不跟随重定向。

默认值是 20。
protocol_version float
HTTP 协议版本。

默认值是 1.0。

Note:

PHP 5.3.0 以前的版本没有实现分块传输解码。 如果此值设置为 1.1 ,与 1.1 的兼容将是你的责任。
timeout (float)
读取超时时间,单位为秒(s),用 float 指定(e.g. 10.5)。

默认使用 php.ini 中设置的 default_socket_timeout。
ignore_errors (boolean)
即使是故障状态码依然获取内容。

默认值为 FALSE.

附录

file_get_contents的参数

filename
要读取的文件的名称。
use_include_path
Note:

As of PHP 5 the FILE_USE_INCLUDE_PATH can be used to trigger include path search.
context
A valid context resource created with stream_context_create(). 如果你不需要自定义 context,可以用 NULL 来忽略。
offset
The offset where the reading starts on the original stream.

Seeking (offset) is not supported with remote files. Attempting to seek on non-local files may work with small offsets, but this is unpredictable because it works on the buffered stream.
maxlen
Maximum length of data read. The default is to read until end of file is reached. Note that this parameter is applied to the stream processed by the filters.

mysq常用函数大全

很少用到,但是有时候又必须用到,这里收集一下mysql的常用函数
一、数学函数
ABS(x)   返回x的绝对值

BIN(x)   返回x的二进制(OCT返回八进制,HEX返回十六进制)

CEILING(x)   返回大于x的最小整数值

EXP(x)   返回值e(自然对数的底)的x次方

FLOOR(x)   返回小于x的最大整数值

GREATEST(x1,x2,…,xn)返回集合中最大的值

LEAST(x1,x2,…,xn)      返回集合中最小的值

LN(x)                    返回x的自然对数

(更多…)

vsftpd配置文件详解

vsftpd的配置文件

/etc/vsftpd/vsftpd.conf 主配置文件
/usr/sbin/vsftpd Vsftpd的主程序
/etc/rc.d/init.d/vsftpd 启动脚本
/etc/pam.d/vsftpd PAM认证文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止访问的用户来自/etc/vsftpd/ftpusers文件中的用户)
/etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表文件。记录不允许访问FTP服务器的用户名单,管理员可以把一些对系统安全有威胁的用户账号记录在此文件中,以免用户从FTP登录后获得大于上传下载操作的权利,而对系统造成损坏。(注意:linux-4中此文件在/etc/目录下)
/etc/vsftpd/user_list 禁 止或允许使用vsftpd的用户列表文件。这个文件中指定的用户缺省情况(即在/etc/vsftpd /vsftpd.conf中设置userlist_deny=YES)下也不能访问FTP服务器,在设置了userlist_deny=NO时,仅允许 user_list中指定的用户访问FTP服务器。(注意:linux-4中此文件在/etc/目录下)
/var/ftp 匿名用户主目录;本地用户主目录为:/home/用户主目录,即登录后进入自己家目录
/var/ftp/pub 匿名用户的下载目录,此目录需赋权根chmod 1777 pub(1为特殊权限,使上载后无法删除)
/etc/logrotate.d/vsftpd.log Vsftpd的日志文件

(更多…)

wordpress后台编辑器添加按钮

增强wordpress编辑器是必要的,因为有的只是一些基础的按钮,比如我想要使用pre标签的按钮就没有

function tt_add_quicktags() {
?>

<script type="text/javascript">
    QTags.addButton( 'pre', 'pre', '<pre>\n','\n</pre>' );
    </script>
<?php
}
add_action('admin_print_footer_scripts', 'tt_add_quicktags' );

上面的代码仅仅是添加了quicktags的快捷按钮,也就是后台编辑器切换到文本时候的按钮,在可视化里面并没有,这写文章不太爽还得来回切换。下面代码吧按钮加在可视化里面 (更多…)

linux下面ftp的搭建

linux下面ftp服务器一般选择vsftpd这个免费开源的ftp程序。主要说一下其安装,配置,启动这些过程。 由于我的是centos系统,只需要使用

yum install vsftpd

就可以安装啦 ubuntu用

apt-get install vsftpd

安装完毕之后。首先在linux下面添加一个用户作为ftp用户 useradd –d /var/www/site -g ftp –s /sbin/nologin myftp (更多…)

utf8中文截断原理以及php的实现

php截断字符串用的是substr,但是这个是无法截断中文的,原因就是中文是采用多字节编码。这里说一下针对utf8编码的汉字截断原理。

UTF-8的编码规则是这样的

1)对于单字节的符号,字节的第一位(字节的最高位)设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。

2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。

下表总结了编码规则,字母x表示可用编码的位。

UTF-8编码方式(十六进制) | 十进制|(二进制)
—————+———————————————————————
0000 0000-0000 007F |0 – 127      | 0xxxxxxx
0000 0080-0000 07FF |192 – 223  |110xxxxx 10xxxxxx
0000 0800-0000 FFFF |224 – 239  |1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF |240 – 247  |11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

更详细的可以去看看utf8编码原理 (更多…)

utf8编码原理

在我的程序中,基本都使用utf8来编码(除非历史原因,实在是无法转换)。但我用的php在处理中文语言的时候,总显得有些生硬,总感觉没有处理英文那么流畅。

比如为什么统计字符的数目要远大于汉字的个数?

为什么截断中文乱码?

为什么一串英文所组成的字符串可以使用数组的方式访问但是中文字符串为什么就是乱码?

等等等等之类的问题。这一切的一切,都是因为对utf8编码不了解所导致的!虽然我们有mb_string这个扩展的对中文有很友好的支持,但对于编码原理,还是需要好好的了解一下。但对于初学者,我想你未必有耐心看完这篇文章,可以跳过直接看程序实例,这篇文章可以作为实例程序的参考作用。 (更多…)

强化twenty fifteen主题,twenty fifteen pro主题制作过程

被最新的twenty fifteen主题迷上了,这就是我心目中的样式!但有功能还是需要添加的,因此在twenty fifteen的主题基础上,增加了一些功能,命名为twenty fifteen pro主题,目前我所用的主题就是twenty fifteen pro主题。

目前增加的功能有这些

1.专辑文章

将一些文章整个成专辑,比如之前胡超的sublime这个专辑,随便点进去一篇文章,左侧栏都会出现该专辑的系列文章,并且在后台还可以手动控制其排序。

这样的好处就是能够将同类别,教程之类的文章聚合起来,更加利于阅读。

(更多…)