随笔分类 -  PHP

摘要:/* * 地图上半径内的经纬度 * @param lat 纬度 lon 经度 raidus 单位米 */ function getAround($lat,$lon,$raidus){ $raidus = empty($raidus)?3000:$r... 阅读全文
posted @ 2015-01-10 17:17 大熊猫+1 阅读(204) 评论(0) 推荐(0)
摘要:<?phpclass WaterImage extends Think {//类定义开始 private $font='./Public/fonts/msyh.ttf'; private $font_alpha='80'; private $title_option=array('literal'=>'默认标题水印文字','color'=>'#000000','pos_x'=>100,'pos_y'=>200,'size' 阅读全文
posted @ 2013-01-16 13:51 大熊猫+1 阅读(411) 评论(0) 推荐(1)
摘要:我们网站要用到即时通讯,选择了OPENFIRE 当做服务器。 OPENFIRE实现了XMPP部分协议。通过发送xml标签进行和服务器的交互。 前端采用的是strophe 。开发过程中,发现假如新开一个页面,会把其他页面的session顶掉,需要在openfire添加一条系统属性route.all-resources true这样其他页面既不会掉线,也实现了消息的分发同步。缺点是比较消耗服务器资源,新开一个页面就发起一个新连接,其他解决方案也试过,不能解决这个问题,strophe的attach方法不实用。 开发过程中,刚开始我把所有逻辑都写在前端的,聊天室创建和加入,PubSub节点的... 阅读全文
posted @ 2013-01-16 13:37 大熊猫+1 阅读(3671) 评论(0) 推荐(0)
摘要:前几天做到消息提醒,发现我们网站的消息是倒序排列的,和百度贴吧这种根据时间的顺序排列不一样。这样在消息提醒链接里面就不能提前知道此条回复是在第几页的,今天在第一页,明天可能就在第二页了。我想了一下,通过此条回复在该帖子中处于第几条来解决。比如,当前回复的是第30条(第一条开始),当前条ID是650,那么url这样可以这样1.http://www.bigparty.com/home.php/group-space_show-id-103-picid-pn-30-333#650由于我们网站的回复加载是ajax的,所以第一步请求这个页面后,前端再次发起ajax 请求http://www.bigpar 阅读全文
posted @ 2013-01-16 11:32 大熊猫+1 阅读(293) 评论(0) 推荐(0)
摘要:来源:http://lvxingzhelimin.blog.163.com/blog/static/170716550201110852956542/工厂模式分为三种:简单工厂、工厂模式和抽象工厂模式。三者之间存在哪些异同呢?先分别看看各个模式的特点一、简单工厂模式:实现了算法和界面的分离,也就是将业务逻辑和界面逻辑分开了,降低了耦合度。算法的封装:定义一个抽象的算法接口,提供不同算法的公共接口方法。其他具体算法继承这个抽象类,并实现具体的算法。简单工厂类:作为一个独立的类,实现了针对不同的算法进行实例化。简单工厂的UML图:二、工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。 阅读全文
posted @ 2012-08-11 08:58 大熊猫+1 阅读(666) 评论(0) 推荐(0)
摘要:来源:http://www.iteye.com/topic/979557总结完ubuntu之后,接着整uml的东西。上一篇我们介绍了用例图和用例间的关系。我们现在再来说说uml中类图和类的关系。在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。基本概念类图(Class Diagram):类图是面向对象系统建模中最常用和最重要的图,是 阅读全文
posted @ 2012-08-11 08:49 大熊猫+1 阅读(393) 评论(0) 推荐(0)
摘要:1.工厂模式主要作用是降低耦合度。abstract class Operation{ abstract public function getValue($num1,$num2); public function getAttr(){ return 1; }}class Add extends Operation{ public function getValue($num1, $num2){ return $num1+$num2; }}class Sub extends Operation{ public f... 阅读全文
posted @ 2012-08-10 17:55 大熊猫+1 阅读(604) 评论(0) 推荐(1)
摘要:看了一下网上的文章,也有想学习一下PHP扩展的冲动,就试着写了一下,刚刚调试成功,写出来分享一下。首先参考一下人家的文章 在Win32下用VC2008编译PHP扩展:以前在Linux下用C写过PHP扩展,在Windows下是使用VC6来编译的,近来有在Windows下用VC2008做PHP扩展的需要,找了一下资料,发现用VC2008也可以写PHP扩展,现介绍步骤如下: 首先要下载PHP源代码及Windows下的二进制压缩包(需要解压开后并正确配置php.ini,甚至Apache),因为在编译扩展的过程中我们需要二进制压缩包里的dev/php5ts.lib文件。接着使用PHP源代码目录下的... 阅读全文
posted @ 2012-04-02 17:14 大熊猫+1 阅读(3456) 评论(2) 推荐(2)
摘要:最近做毕业设计,关于电子商务安全方面的,于是研究了下SSL加密的实现,发现网上的资料都是千篇一律,只涉及到了协议层的认真签名,对于业务层的完全不涉及;我也问过一些网友,发现很多人只认识到了协议层的认证,认为这样就完成了认证,到现在为止我认为这是不对的。 先说一下协议层的认证,这一层的认证主要是由浏览器和服务器之间通过几握手完成信息的传递的,具体的可以参考一下这篇文章SSL握手过程。这里就不做讲解了。 再谈谈OpenSSL这个工具。OpenSSL用一般在Apache里面自带的有,用来生成数字证书、签名。怎么生成数字证书这儿也不说了,网上资料很多,这里给个现成的命令就行了,不做具体解释。CA证书. 阅读全文
posted @ 2012-04-01 15:10 大熊猫+1 阅读(2610) 评论(0) 推荐(2)
摘要:最近在网上的交流中发现大家对SESSION的使用上有很多误区,本质上就是不了解SESSION的工作原理。SESSION会话开启时,会首先发送一个对浏览器的唯一标识session_id的cookie(名字为PHPSESSID可以通过session_name()获取),同session.save_handler = files的情况下,在服务器的指定目录(如temp)下生成一个没有后缀的文件,名字是'sess_" + 'session_id'; 这样就完成了基本的设置。那么在下一次发起http请求时,首先浏览器会发送这个当前域名下的所有cookie名字和值过去,这 阅读全文
posted @ 2012-03-30 12:06 大熊猫+1 阅读(1317) 评论(0) 推荐(0)
摘要:首先在PHP.ini里面设置zlib.output_compression = Onzlib.output_compression_level = 6第一项是开启压缩,第二项是压缩率,可选范围为1-9;然后是apach里面开启deflate压缩,去掉井号。#LoadModule deflate_module modules/mod_deflate.so到此为止这样还是不行的,还需要在http.conf选个一空白处加上对文件类型的输出过滤,对哪些后缀的进行选择性压缩。 AddOutputFilterByType DEFLATE text/html text/plain text/xml appl 阅读全文
posted @ 2012-03-29 15:41 大熊猫+1 阅读(511) 评论(0) 推荐(0)