Uncategories

vm虚拟机开机自启动

Posted in Uncategories on 4月 19th, 2010 by 飘(piao2010) – 1 Comment

学院的服务器(上面跑着两台虚拟机)经常会重启,每次都要手动启动VM虚拟机实在是麻烦,于是网上找来了自启动的方法:
1.所需的工具:instsrv.exe和srvany.exe
这两个工具在windows 2003 resource kit tools里面
我把这两个文件都存在c:\temp里面

2.需要了解的信息
vmware.exe的安装路径,以本机为例:C:\Program Files\VMwareVMware Workstation\vmware.exe
要启动的虚拟机配置文件路径,我的Centos虚拟机的配置文件Centos.vmx的路径是 read more »

MySQL权限详解

Posted in Uncategories on 9月 2nd, 2009 by 飘(piao2010) – 1 Comment

一.权限表
mysql数据库中的3个权限表:user 、db、 host
权限表的存取过程是:
1)先从user表中的host、 user、 password这3个字段中判断连接的IP、用户名、密码是否存在表中,存在则通过身份验证;
2) 通过权限验证,进行权限分配时,按照user?db?tables_priv?columns_priv的顺序进行分配。即先检查全局权限表 user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db, tables_priv,columns_priv;如果为N,则到db表中检查此用户对应的具体数据库,并得到db中为Y的权限;如果db中为N,则检 查tables_priv中此数据库对应的具体表,取得表中的权限Y,以此类推。
二.MySQL各种权限(共27个)
(以下操作都是以root身份登陆进行grant授权,以p1@localhost身份登陆执行各种命令。)

1. usage
连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。
mysql> grant usage on *.* to ‘p1′@’localhost’ identified by ‘123′; read more »

MySQL编码机制

Posted in Uncategories on 6月 30th, 2009 by 飘(piao2010) – Be the first to comment

大家都知道从 MySQL4.1 版本开始,支持多种编码,包括我们熟知的 latin1、gbk、utf8、big5 等等,还有一些我们闻所未闻的。

在使用 PHP 连接 MySQL 查询出来的数据有的时候居然会是乱码,关于乱码的解决首先我们要了解 MySQL 的编码机制。

拿 Discuz! 论坛为例,Discuz! 论坛在连接 MySQL 后会立即执行一个设定(见include/db_mysql.class.php ):

@mysql_query(”SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary”, $this->link);
此三处的字符设定很大程度上会解决乱码问题,那么这三个设定具体有什么作用呢?如果我们了解了 MySQL 的编码机制,就可以避免在安装插件及平时的操作过程中产生乱码,还可以自行对论坛的数据进行转码。 read more »

浅析Discuz,uchome中模板实现原理

Posted in Uncategories on 6月 29th, 2009 by 飘(piao2010) – Be the first to comment

Dizcuz模板和uc home 中的模板是一样的,由 parse_template函数实现(比起smarty可真是超轻量级了).

解析过程并不复杂,主要是读取模板文件(.htm),用规则表达式替换标记为PHP标准语法,最终生成一个标准的PHP文件,保存到缓存目录。而在主文件(.php)中获取数据,最后有个调用 include(template(”*.htm”))

template 调 用 parse_template 将模板缓存为 .php文件,返回文件名给 include()函数,include可以动态包含文件,所以得到了完整的.php. 如果缓存中已经有该文件,直接从缓存读取,所以修改了模板,就要 清除缓存,重新生成,否则,还会显示原来的。

Asp中的 include 不可以动态包含,所以通常是将模板文件解析成块,通过替换该块,实现的。当然有的模板比如kudzu Asp引擎,是将模板解析为节点树,每种节点都有相应的处理插件,从根节点开始执行,遍历节点树,最后生成静态内容,保存到文件后直接输出。

SQL连接语句

Posted in Uncategories on 6月 27th, 2009 by 飘(piao2010) – Be the first to comment

有两表a和b,前两字段完全相同:(id int,name varchar(10)…)
id name
———– ———-
1 a
2 b
3 c

以下的查询语句,你知道它的运行结果吗?:
1.
select * from a left join b on a.id=b.id where a.id=1
2.
select * from a left join b on a.id=b.id and a.id=1
3.
select * from a left join b on a.id=b.id and b.id=1
4.
select * from a left join b on a.id=1

结果:
id name id name
———– ———– ———– ———–
1 10 1 10

(1 row(s) affected)
read more »

PHP 中的数据库缓存原理

Posted in Uncategories on 6月 22nd, 2009 by 飘(piao2010) – Be the first to comment

如果后台应用接收到浏览器端的查询请求后,每次都与数据库连接读取数据,势必增加数据库的负担。而往往有大量的请求是重复的,我们可以把这些重复的信息采用缓存技术保存下来,重复使用,这样,在某些情况下可以大大提高程序的性能。 read more »

优化PHP代码的40条建议

Posted in Uncategories on 6月 22nd, 2009 by 飘(piao2010) – Be the first to comment

1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。

2.echo 比 print 快。

3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。

4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。

5.注销那些不用的变量尤其是大数组,以便释放内存。 read more »

常用的正则表达式

Posted in Uncategories on 6月 22nd, 2009 by 飘(piao2010) – Be the first to comment

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/< (.*)>.*< \/\1>|< (.*) \/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

sql语句:^(select|drop|delete|create|update|insert).*$

1、非负整数:^\d+$

2、正整数:^[0-9]*[1-9][0-9]*$

3、非正整数:^((-\d+)|(0+))$

4、负整数:^-[0-9]*[1-9][0-9]*$

5、整数:^-?\d+$

6、非负浮点数:^\d+(\.\d+)?$

7、正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

8、非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$

9、负浮点数:^(-((正浮点数正则式)))$

10、英文字符串:^[A-Za-z]+$

11、英文大写串:^[A-Z]+$

12、英文小写串:^[a-z]+$

13、英文字符数字串:^[A-Za-z0-9]+$

14、英数字加下划线串:^\w+$

15、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

16、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$
或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"\"])*$

17、邮政编码:^[1-9]\d{5}$

18、中文:^[\u0391-\uFFE5]+$

19、电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

20、手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$
read more »


无觅相关文章插件,快速提升流量