08 2011 档案

摘要:1.简介memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问。memcache也提供用于通信对话(session_handler)的处理。更多Memcache 模块相关信息可以到 http://www.danga.com/memcached/ 查阅。 1.1.memcache在php.ini中的配置项列表memcache在php.ini中的配置项列表名称 默认值 是否可变 改变日志memcache.allow_failover “1” PHP_INI_ALL Available since memcach 阅读全文

posted @ 2011-08-31 14:30 天空尚兰

摘要:windows环境:添加服务.sc create Memcachedserver11212 binpath= "C:\memcache\memcached.exe -d runservice -m 500 -p 11212" start= auto displayname= "Memcached server (11212)"要是一台机有多个,那就改下端口再搞一次撒~php使用Memcache函数库是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的内存数据的临时存放区域,在分布式的时候作用体现的非常明 阅读全文

posted @ 2011-08-31 14:16 天空尚兰 阅读(307) 评论(0) 推荐(2)

摘要:核心提示:康盛的 authcode 函数可以说对中国的PHP界作出了重大贡献。包括康盛自己的产品,以及大部分中国使用PHP的公司都用这个函数进行加密,authcode 是使用异或运算进行加密和解密。康盛的 authcode 函数可以说对中国的PHP界作出了重大贡献。包括康盛自己的产品,以及大部分中国使用PHP的公司都用这个函数进行加密,authcode 是使用异或运算进行加密和解密。 原理如下,假如:加密明文:1010 1001密匙:1110 0011密文:0100 1010得出密文0100 1010,解密之需和密匙异或下就可以了解密密文:0100 1010密匙:1110 0011明文:101 阅读全文

posted @ 2011-08-31 10:36 天空尚兰

摘要:1 -- 2 -- Table structure for table `category` 3 -- 4 5 CREATE TABLE IF NOT EXISTS `category` ( 6 `id` int(11) NOT NULL AUTO_INCREMENT, 7 `catpath` varchar(255) DEFAULT NULL, 8 `name` varchar(255) DEFAULT NULL, 9 PRIMARY KEY (`id`)10 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ... 阅读全文

posted @ 2011-08-30 10:57 天空尚兰

摘要:PHP最佳实践作者:阮一峰日期:2010年12月27日今天下午,我在读下面这篇文章。虽然名字叫《PHP最佳实践》,但是它主要谈的不是编程规则,而是PHP应用程序的合理架构。它提供了一种逻辑和数据分离的架构模式,属于MVC模式的一种实践。我觉得,这是很有参考价值的学习资料,类似的文章网上并不多,所以一边学习,一边就把它翻译了出来。根据自己的理解,我总结了它的MVC模式的实现方式(详细解释见译文): *视图层(View):前端网页; *逻辑层(Controller):先是页逻辑(Page Controller),负责处理页面请求;然后,调用业务逻辑(Business Controller),实.. 阅读全文

posted @ 2011-08-29 17:45 天空尚兰

摘要:Web-Server 中 PHP 的两种工作方式ByKUCO|Published:2011/07/07部分内容参考自这里,这里在项目生产环境的 Web-Server 中 PHP.exe 通常以两种工作方式工作, 一种是 Apache 中的模块化方式, 另一种是在 Nginx 中的 FastCGI 方式. 除此之外, PHP.exe 还有一种古老的运行方式: CGI 方式, 这种方式基本上已经被淘汰, 我们可以通过 CGI 方式来很好的理解前两种方式.CGI 方式是:01#当 Web-Server 启动时:021, Web-Server 只初始化自身.0304#web 请求处理过程是:051, 阅读全文

posted @ 2011-08-18 16:59 天空尚兰

摘要:PHP程序员应该都知道连接MySQL数据库可以使用mysql_pconnect(永久连接)函数,使用数据库永久连接可以提高效率,但是实际应用中数据库永久连接往往会导致出现一些问题,通常的表现就是在大访问量的网站上时常发生断断续续的无法连接数据库的情况,出现类似"Too many connections in ..."的错误提示信息,重新启动服务器又正常了,但过不了一会儿又出现同样的故障。对于这些问题的成因,恐怕就不是每个人都能说清楚的了,虽然PHP文档里有一些相关资料,但是解释的并不浅显易懂,这里我厚着脸皮试图做一个简单的讨论,所述观点不见得全都正确,欢迎大家反馈意见。首先看看数据库永久连接的 阅读全文

posted @ 2011-08-18 11:58 天空尚兰

摘要:析构函数:当某个对象成为垃圾或者当对象被显式销毁时执行。GC(Garbage Collector)在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁。这是PHP的GC(Garbage Collector)垃圾处理机制,防止内存溢出。当一个PHP线程结束时,当前占用的所有内存空间都会被销毁,当前程序中的所有对象同样被销毁。__destruct() 析构函数__destruct() 析构函数,是在垃圾对象被回收时执行。析构函数也可以被显式调用,但不要这样去做。析构函数是由系统自动调用的,不要在程序中调用一个对象的虚构函数。析构函数不能带有参数。如下面程序所示,程序 阅读全文

posted @ 2011-08-17 10:24 天空尚兰

摘要:set_magic_quotes_runtime(0|1) 和 magic_quotes_gpc 和 addslashes() 和 stripslashes() 在php.ini的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反斜线。 当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时就要用set_magic_quotes_runtime()与get_magic_quotes_runtime()设置和检测php.ini文件中magic_quotes_ru 阅读全文

posted @ 2011-08-17 10:01 天空尚兰

摘要:1 正规表达式中的 /u /i /s 的用法:/u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字)/i 表示不区分大小写(如果表达式里面有 a, 那么 A 也是匹配对象)/s 表示将字符串视为单行来匹配 阅读全文

posted @ 2011-08-11 10:46 天空尚兰 阅读(159) 评论(0) 推荐(0)

摘要:分为两种情况:前端:通过腾讯的qq分享api <script type="text/javascript" src="http://fw.qq.com/ipaddress"></script>返回一个javascript数组var IPData = new Array("183.62.141.46","","广东省","深圳市");后台:通过 qqwry.dat后台查询 返回结果到前台显示打包:http://files.cnblogs.com/code 阅读全文

posted @ 2011-08-05 18:28 天空尚兰 阅读(149) 评论(0) 推荐(0)

摘要:<?php //author:zhoujian//date:2011-08-05class RunTime//页面执行时间类 { private $starttime;//页面开始执行时间 private $stoptime;//页面结束执行时间 private $spendtime;//页面执行花费时间 function getmicrotime()//获取返回当前微秒数的浮点数 { list($usec,$sec)=explode(" ",microtime()); return ((float)$usec + (float)$sec); } function s 阅读全文

posted @ 2011-08-05 17:31 天空尚兰 阅读(473) 评论(0) 推荐(0)

摘要:PHP 是一门弱类型的语言, 和 C# / JAVA 不一样, 在声明一个变量的时候, 无需声明它的类型. 因此, 可能会出现很多特殊的值, 偶尔会出现一些奇奇怪怪的问题.下午, 从国外网站偷来一个真值表, 嘿嘿, 很直观, 很详细. 不错~ 赶紧发上来.empty 和 isset的区别和联系要说它们的联系,其共同点就是empty()和isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足。单从empty()和isset()这两个函数本身来考虑的话会把人弄得更糊涂,换一个角度来它。empty()和isset()的处理对 阅读全文

posted @ 2011-08-05 09:50 天空尚兰

摘要:本文整理了Mysql 两大常用的存储引擎MyISAM,InnoDB的六大常见区别,来源于Mysql手册以及互联网的资料。InnoDB与Myisam的六大区别MyISAMInnoDB构 成上的区别:每个MyISAM在磁盘上存储成三个文件。第一个 文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩 展名为.MYD (MYData)。索引文件的扩 展名是.MYI (MYIndex)。基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB表的 大小只受限于操作系统文件的大小,一般为2GB事务处理上方面:MyISAM类型的表强调的是性能,其执行数 度比In 阅读全文

posted @ 2011-08-04 12:00 天空尚兰

摘要:<?php /** * 文件上传类 */ class uploadFile { public $max_size = '1000000';//设置上传文件大小 public $file_name = 'date';//重命名方式代表以时间命名,其他则使用给予的名称 public $allow_types;//允许上传的文件扩展名,不同文件类型用“|”隔开 public $errmsg = '';//错误信息 public $uploaded = '';//上传后的文件名(包括文件路径) public $save_path;/ 阅读全文

posted @ 2011-08-03 12:59 天空尚兰 阅读(529) 评论(1) 推荐(1)

摘要:function reSizeImg($imgSrc, $resize_width, $resize_height, $isCut=false) { //图片的类型 $type = substr ( strrchr ( $imgSrc, "." ), 1 ); //初始化图象 if ($type == "jpg") { $im = imagecreatefromjpeg ( $imgSrc ); } if ($type == "gif") { $im = imagecreatefromgif ( $imgSrc ); } if ($t 阅读全文

posted @ 2011-08-03 12:46 天空尚兰 阅读(426) 评论(0) 推荐(1)

导航