随笔分类 -  PHP

摘要:首先我们了解下php的执行流程、php生命周期。 二、php的执行流程2.1 scanner 将PHP代码转换为Tokens,详见代码Zend/zend_language_scanner.l。 2.2 parser 将Tokens转换成表达式,详见代码Zend/zend_language_parser.y。 2.3 compile 将表达式编译成opcode。opcode存放在op_array中。 2.4 execute Zend Engine调用zend_execute来执行op_array,输出结果。三、php的生命周期3.1 STARTUP 1、初始化引擎... 阅读全文
posted @ 2012-05-25 21:53 稻草哥 阅读(3395) 评论(0) 推荐(0)
摘要:SQL语句和PHP中语句与MYSQL连接初学者一定认为没有什么问题,现在如下正常的连接这是服务器的配置文件<?php session_start(); //数据库配置信息 define('DB_HOST', 'localhost'); //数据库服务器主机地址 define('DB_USER', '123456'); //数据库帐号 define('DB_PW', '123456'); //数据库密码 define('DB_NAME', 'example'); 阅读全文
posted @ 2012-05-10 21:01 稻草哥 阅读(1393) 评论(0) 推荐(0)
摘要:一篇关于正则表达式特殊字符含义的文章,希望对大家有所帮助。字符/意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。例如:/b/匹配字符’b’,通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示匹配一个单词的分界线。或者:对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释。例如:*是一个特殊字符,匹配任意个字符(包括0个字符);例如:/a*/意味匹配0个或多个a。为了匹配字面上的*,在a前面加一个反斜杠;例如:/a*/匹配’a*’。字符^意义:表示匹配的字符必须在最前边。例如:/^A/不匹配"an A,"中的’ 阅读全文
posted @ 2012-03-03 12:08 稻草哥 阅读(1882) 评论(0) 推荐(0)
摘要:CI 的钩子功能使得您可以在不修改系统核心文件的基础上来改变或增加系统的核心运行功能。例如,您可以在控制器刚刚载入前或刚刚载入后来运行特定的脚本,或者在其他时刻来触发您的脚本。看代码:system/application/config/hooks.php中添加钩子声明: $hook['post_controller_constructor'] = array( 'class' => 'Acl', 'function' => 'filter', 'filename' => ' 阅读全文
posted @ 2012-02-29 15:26 稻草哥 阅读(5271) 评论(0) 推荐(0)
摘要:因为最近在制作班级网站,考虑到文件上传带来的安全问题,特此研究一下。下面看一个简单的上传代码。<form action="index.php" method="post" enctype="multipart/form-data" name="form"> <input type="file" name="file" /><br /> <input type="submit" value="上传文件&qu 阅读全文
posted @ 2012-02-17 20:39 稻草哥 阅读(4184) 评论(0) 推荐(0)
摘要:看到Trojan大牛写的文章,特地转来与大家分享。0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、$row[’id’] 的速度是$row[id]的7倍。 3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str... 阅读全文
posted @ 2012-02-11 15:35 稻草哥 阅读(231) 评论(1) 推荐(0)
摘要:系统讲解PHP开发中安全防范知识 PHP代码安全和XSS,SQL注入等对于各类网站的安全非常中用,尤其是UGC(User Generated Content)网站,论坛和电子商务网站,常常是XSS和SQL注入的重灾区。这里简单介绍一些基本编程要点, 相对系统安全来说,php安全防范更多要求编程人员对用户输入的各种参数能更细心. php编译过程中的安全 建议安装Suhosin补丁,必装安全补丁 php.ini安全设置 register_global = off magic_quotes_gpc = off display_error = off log_error = on # ... 阅读全文
posted @ 2012-02-06 18:38 稻草哥 阅读(648) 评论(0) 推荐(0)
摘要:自己刚学了PHP,尝试去看一些网上的代码,还好可以大概看懂,身为一个网络安全爱好者,当然关心PHP开发所引发的安全问题,作为新手应该首先注意的是用户的提交内容,他们很有可能是大灰阔哦!看如下一个简单的登入表单<html> <head> <title>Login</title> </head> <body> <form action=”verify.php” method=”post”> <p><label for='user'>Username</label> 阅读全文
posted @ 2012-01-29 00:12 稻草哥 阅读(3337) 评论(0) 推荐(0)
摘要:制作留言板大神们要求分页显示:如下为一些比较实用的东西。mysql数据库为HELLO,数据表为HI。其定义sql语句如下:create table HI ( id int(5) not null auto_increment, biaoti varchar(40) not null, neirong text not null, primary key (id) );字段说明:id :记录号,自动递增且为主键biaoti :标题neirong :内容<html> <head> <title>分页显示的实现方法</title> <meta h 阅读全文
posted @ 2012-01-26 15:56 稻草哥 阅读(413) 评论(0) 推荐(0)
摘要:首先还是来介绍一下flock()的这个函数:函数原型bool flock (resource fp, int operation [, int & wouldblock])要取得共享锁定(读取的程序),将lock设为 LOCK_SH(PHP 4.0.1 以前的版本设置为 1)。要取得独占锁定(写入的程序),将lock设为 LOCK_EX(PHP 4.0.1 以前的版本中设置为 2)。要释放锁定(无论共享或独占),将lock设为 LOCK_UN(PHP 4.0.1 以前的版本中设置为 3)。如果不希望 flock() 在锁定时堵塞,则给lock加上 LOCK_NB(PHP 4.0.1 以 阅读全文
posted @ 2012-01-23 16:32 稻草哥 阅读(4321) 评论(0) 推荐(1)
摘要:$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=preg_replace("/<(\!.*?)>/si",&qu 阅读全文
posted @ 2012-01-21 14:23 稻草哥 阅读(4452) 评论(0) 推荐(0)
摘要:1,年-月-日echo date('Y-m-j');2007-02-6echo date('y-n-j');07-2-6大写Y表示年四位数字,而小写y表示年的两位数字;小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。echo date('Y-M-j');2007-Feb-6echo date('Y-m-d');2007-02-06大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);没有大写的J,只有小写j表示月份的日期,无前导o;若需要月份带前导则使用小写d。echo date('Y-M- 阅读全文
posted @ 2012-01-21 14:21 稻草哥 阅读(292) 评论(0) 推荐(0)