随笔分类 - PHP Code
摘要:1、正则表达式的介绍和作用什么是正则表达式?在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的语法。例:在判断用户邮件地址格式、手机号码格式或者采集别人网页内容时主要的作用是:分割、匹配、查找、替换注:正则表达式对于一个程序员来讲是至关重要的一个知识点,所以学好正则 是每一个程序员必须具备的。不仅可以帮助我们完成一些通过函数无法实现 的工作,还可以帮助我们减轻很多工作量。2、PHP中两个常用的正则函数preg_match 正则函数,以perl语言为基础preg_match ( mode, string subject , array m
阅读全文
摘要:一,表单1,上传文件的表单使用post方式(和get的区别不用说了);还要加上enctype='multipart/form-data'。2, 一般要加上隐藏域:<inputtype=hiddenname='MAX_FILE_SIZE'value=dddddd>,位置在 file域前面。value的值是上传文件的客户端字节限制。据说可以减少文件超标时客户端的等待时间,不过我没觉得有什么区别。3, 出于安全考虑,file域是不许赋值的。随便在file域输入字符串,然后按submit也不会有反应。必须是第二个字符是冒号的时候(比如空格跟随冒号 可以上传一
阅读全文
摘要:1. 模板中不能使用的标签{$content} {$i}2. If标签如: <if condition="$name eq 1 ">试验后总是有想不到的错误, 这样,还不如直接用<?php if(...){ ...?>来得快些呢.约定:1.所有类库文件必须使用.class.php作为文件后缀,并且类名和文件名保持一致2.控制器的类名以Action为后缀3.模型的类名以Model为后缀,类名第一个字母须大写4.数据库表名全部采用小写,如:数据表名: 前缀_表名模型类名: 表名Model 注:这里的表名第一个字母要大写创建对象: D('表名
阅读全文
摘要:1.使用一个SQL注射备忘单一个基本的原则就是,永远不要相信用户提交的数据。另一个规则就是,在你发送或者存储数据时对它进行转义(escape)。可以总结为:filter input, escape output (FIEO). 输入过滤,输出转义。通常导致SQL注射漏洞的原因是没有对输入进行过滤,如下语句:1234<?php$query="SELECT * FROM users WHERE name = '{$_GET['name']}'";在这个例子中,$_GET['name']来自用户提交的数据,既没有进行转义,也没
阅读全文
摘要:首先说Model吧。在TP中是一个表对应一个Model,而且普通Model中只是一些自动验证啊,自动完成啊、还有数据字段信息啊一些东西;而CI中的Model则完全不同,一个Model不必约束于一个表,也就是说名字为abc的Model中你也可以查询名字为def的表中的数据,而且可以定义方法完成一些数据查询,比如我可以在名为articles_model的Model中定义一个名字为get_articles的方法来获取所有文章信息,当某个Controller加载了这个Model后,就可以在相应的Controller中用1$this->articles_model->get_articles
阅读全文
摘要:所谓BigPipe,指的是Facebook开发的用来改善客户端响应速度的技术。本质上讲,其实它并不是新事物,原理上等同于Yahoo在Best Practices for Speeding Up Your Web Site里提出的Flush the Buffer Early,不过BigPipe的实现更灵活,所以有必要了解一二。我们平常浏览网页时的体验通常是串行的:浏览器发起请求,服务器收到后渲染页面,在此期间,浏览器除了等待别无选择,演示代码如下:<?phpsleep(1);$header = 'header';sleep(1);$content = 'conten
阅读全文
摘要:1. 自己写代码产生随机的数字和字母组合,每产生1个去数据库查询该随机码是否已存在,如果已存在,则重新产生,直到不重复为止。 优点:没发现有啥优点。 缺点:产生速度慢,还要查询数据库,当数据量大的时候,可能重复的机率会比较高,要查询多次数据库.2. guid,该方法应该是用的比较多的。 优点:使用简单方便,不用自己编写额外的代码 缺点:占用数据库空间相对较大,特别是根据guid查询速度比较慢(毕竟是字符串)。3. 主键+随机码的方式,我们产生的随机码保存到数据库肯定会有个主键,用该主键+随机字符来组合。产生步骤: 1) 先从id生成器中获取id,比如是155. 2)填...
阅读全文
摘要:<?php class Guid{ /** * 系统当前时间 */ private static function _curTimeMillis() { list($usec, $sec) = explode(" ",microtime()); return $sec.substr($usec, 2, 3); } /** * 客户端相关信息 */ private static function _getHost() { $name = empty($_SERVER["HTTP_USER_AGENT"]) ? 'localhost'
阅读全文
摘要:<?phpclass SpendTime {static function Start($sTransName) {SpendTime::$arrStartTimes [$sTransName] = microtime ( true );}static function End($sTransName) {SpendTime::$arrSpendTimes [$sTransName] = microtime ( true ) – SpendTime::$arrStartTimes [$sTransName];}static function PrintTime() {echo “<
阅读全文
摘要:<?phpfunction makeRandomCount($length = 6){$key = “”;$str = ’0123456789ABCDEFGHIJKLOMNOPQRSTUVWXYZ’;//字符池for($i=0;$i<$length;$i++) {$key .= $str{mt_rand(0,36)};}return $key;}?>
阅读全文
摘要:php有三种方法可以post数据,分别为Curl、socket、file_get_contents:<?php/*** Socket版本* 使用方法:* $post_string = "app=socket&version=beta";* request_by_socket('facebook.cn','/restServer.php',$post_string);*/function request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$t
阅读全文
摘要:<?php$fp = fsockopen("202.106.0.20", 3306, $errno, $errstr, 30);if (!$fp){ echo "$errstr ($errno)<br />\n";}else{ echo "ok\n";}?>
阅读全文
摘要:<?php/*示例: $file = '/data/ad_files/5/5.swf'; $flash = new FLASH(); $flash = $flash->getSwfInfo($file); echo "文件的宽高是:".$flash["width"].":".$info["height"]; echo "文件版本是".$flash["version"]; echo "文件帧数量是".$flash["fr
阅读全文
摘要:<?php /*** Mongodb类** examples: * $mongo = new HMongodb("127.0.0.1:11223"); * $mongo->selectDb("test_db"); * 创建索引 * $mongo->ensureIndex("test_table", array("id"=>1), array('unique'=>true)); * 获取表的记录 * $mongo->count("test_table&qu
阅读全文
摘要:<?php/*@ 获取QQ达人QQ信息 @ 起点岁月 2010-09-06@ 一个简单的例程,通过扩展可以轻松获取千万级别QQ信息,$jsonUrl 参数cd=610900 为城市代码@ QQ达人信息已经做防盗链了,所以在此用到PHP的refer去伪造 http://city.qq.com@ 本来想做一个QQ邮件裙发软件玩玩,但是没有经济价值呵呵,贡献出来大家参考,很简单。*/$refer="http://city.qq.com"; //定义$refer$opt=array('http'=>array('header'=>&
阅读全文
摘要:ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可。在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,所以我们需要修改nginx.conf文件。网上搜了很多方法都不奏效,研究了一天,发现通过以下的配置可以完美支持 'URL_MODEL' => 2 的情况了 1 location /project/ { 2 index index.php; 3 if (!-e $request_fil
阅读全文
浙公网安备 33010602011771号