PHP友好URL的实现

PHP友好URL的实现
下面的代码主要是伪静态的实现,搜索引擎喜欢 大家经常看到别的站的URL是这样的吧? https://www.xiaohuboke.com/module/show/action/list/page/7 或者 html">http://xiaohuboke.com/module/show/action/show/id/8.shtml 带扩展名的 或者 http://xx.com/module/show/action/show/id/8?word=ss&age=11 这样的吧,今天我就是公布下这种方法的实现,并独立出最简单的代码,函数如下,没封装成类,主要是没必要,...

MVC真的适合PHP么?

MVC真的适合PHP么?
摘要:近来设计模式风行,MVC随处可见,PHP领域也不例外,很多论坛都开始讨论在PHP中使用MVC。然而,M、V、C在PHP中到底该如何实现?MVC真的适合PHP么?这里Easy给出一些自己的思考。 近来设计模式风行,MVC随处可见,PHP领域也不例外,很多论坛都开始讨论在PHP中使用MVC。然而,M、V、C在PHP中到底该如何实现?MVC真的适合PHP么?这里Easy给出一些自己的思考。 MVC的原型 MVC本来是存在于Desktop程序中的...

php采用数据库保存session

php采用数据库保存session
php保存session 默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开销是很大的,然而session是要时时刻刻的使用的,大量的用户酒药创建很多的session文件,这样对整个的服务器带来性能问题,另一方面,如果服务器起采用群集的方式的话就不能保持session的一致性,所以我们就绪要采用数...

用新PHP插件实现MySQL为基础的事务

用新PHP插件实现MySQL为基础的事务
事务处理支持很长时间以来一直是大多数MySQL开发者的心愿,随着MySQL 4.0的发布,这个心愿最后终于得以实现。MySQL 4.0后不久,拥有一个新的MySQL插件的PHP 5.x也发布了。这个新插件,MySQL Improved,使得PHP开发者通过利用本地的PHP函数,获得了这些新的事务处理能力。这篇简短的教程将向你说明怎样利用这些新的MySQLi函数,用PHP实现以MySQL为基础的事务。 概要 如果你还不知道,那么我可以告诉你,事务...

五个常见 PHP 数据库问题

五个常见 PHP 数据库问题
揭露 PHP 应用程序中出现的五个常见数据库问题 —— 包括数据库模式设计、数据库访问和使用数据库的业务逻辑代码 —— 以及它们的解决方案。 如果只有一种 方式使用数据库是正确的…… 您可以用很多的方式创建数据库设计、数据库访问和基于数据库的 PHP 业务逻辑代码,但最终一般以错误告终。本文说明了数据库设计和访问数据库的 PHP 代码中出现的五个常见问题,以及在遇到这些问题时如何修复它们。 问题 1:直接...

PHP has encountered an Access Violation解决方法总结

PHP has encountered an Access Violation解决方法总结

这个问题不是很好处理,困惑了很多站长非常时间了,主要出现在windows主机的服务器上。在php官方,http://bugs.php.net/
也能够查到两三千页的报告,他们官方也是束手无策,经过了11个小版本后,还是没有彻底解决.
目前我提供一下这几年我维护经验,我的一些民间解决办法

Linux下PHP连接MS SQLServer的办法

Linux下PHP连接MS SQLServer的办法
提出问题 前几天做了一个非常奇怪的项目,我公司开发了一套基于中国联通SGIP协议的SP端短消息服务软件,提供联通130短信服务。这套系统是Windows 2000下的,数据库采用的是微软SQLServer2000,并且已经正常运行了一段时间。而最近由于要在WEB上提供短消息用户的一些信息,就需要从WEB上读写SQLServer数据库,本来SQLServer数据库的最佳搭档应该是微软IIS ASP服务端脚本,但我公司一向认为IIS+ASP的稳定性和...

PHP 5.0对象模型深度探索之起步

PHP 5.0对象模型深度探索之起步
面向对象编程被设计来为大型软件项目提供解决方案,尤其是多人合作的项目. 当源代码增长到一万行甚至更多的时候,每一个更动都可能导致不希望的副作用. 这种情况发生于模块间结成秘密联盟的时候,就像第一次世界大战前的欧洲。 haohappy注:喻指模块间的关联度过高,相互依赖性太强.更动一个模块导致其它模块也必须跟着更动。 想像一下,如果有一个用来处理登录的模块允许一个信用卡处理模块来分享它的数据库连接...

有关在Windows下配置PHP+Apache+Optimizer失败的问题解决方案

有关在Windows下配置PHP+Apache+Optimizer失败的问题解决方案
昨晚在Windows XP Professional [带IIS]下安装了PHP 5.0.5和 Apache 2.0.54[监听端口8088]. 今天在安装Discuz论坛时被要求安装Zend-Optimizer以支持加密过的PHP文件. 下载到Zend-Optimizer 2.5.7的Win32安装文件 在安装时,开始很顺利 Apache Root和php.ini选择路径分别为: E:/Program Files/Apache Group/Apache2 E:/PHP5 可是到后来需要重启Apache的时候,重启失败.手动重启.提示安装成功.可是在phpinfo.ph...

php作wap开发时遇到的问题

php作wap开发时遇到的问题
1.文件格式 首先要遇到的问题肯定是文件格式,在作web开发时,大家都是用的html或xhtml,到了wap开发时,就得用wml了.什么是wml?大家可以去查更详细的资料,我这里只是略微的提到.在我看来wml类似于xml,有非常严格的格式,在作wap页面时,都得用wml来作为显示. wml的语法非常简单,在用php作动态输出时,一定要发送一个头信息,标明本页面是wml,而不是别的什么*ml. [code lang="php"] [/code] 这里用的字符集是gb231...

php+odbc+access数据库操作函数,在windows下测试通过

php+odbc+access数据库操作函数,在windows下测试通过

前些天下载了adodb,想用adodb连access数据库,后来连是连上了,不过不能更新和插入记录,也不知道为什么到现在还没人给我回答那个苦恼的问题,后来就放弃了adodb,使用php自己的odbc,但是使用很不方便,就写下了下面这些函数,还没有封装成类,希望能够为有同样问题的朋友一些帮助

PHP程序员一般都忽略了的几点精华

PHP程序员一般都忽略了的几点精华
我发现很多的PHP程序员,尤其是学习还不是很久的,都不知道PHP的精华所在。Perl当年如何在商界出名?其强大的正则表达式。而PHP呢?他是一门从Unix下发展起来的语言,当然也就继承了Perl的很多特点,同时C的优点都有。快速、简洁、明了,尤其是C程序员,PHP是至爱,我就是深爱着“PHP”(都忘了女友了:))。这里,我想来写一篇PHP的变量、数组应用技巧和PHP的正则表达式、PHP的模板应用,以后有时间再写PHP与...

类的另类用法–数据的封装

类的另类用法–数据的封装

类的另类用法–数据的封装

一般的情况下,如果使用classname::property是不能访问到类的属性的,但可以用classname::method()使用类的方法。同样的也不能用objectname->property访问到类的方法里的变量。利用这一特点,我们可以将一些数据保存于类中,有点象c++的私有属性。

PHP实现http与https转化

PHP实现http与https转化

最近在写PHP程序时,需要使浏览器在https和http之间转化,上网搜索相关信息,无奈只有最近在写PHP程序时,需要使浏览器在https和http之间转化,上网搜索相关信息,无奈只有一篇介绍用ASP实现“在http和https之间转化”的文章,于是只好行写了用PHP实现http与https转化的代码。

如果网页使用https访问,在网页开头加入以下代码:

使用APC缓存PHP

使用APC缓存PHP
概述:  Alternative Php Cache(APC)是php 的一个免费公开的优化代码缓存。它用来提供免费,公开并且强健的架构来缓存和优化php 的中间代码。  评注: 1. 在Windows下,APC需要有一个临时路径,并且Web服务器具有可写权限。它按顺序检查TMP、TEMP、USERPROFILE环境变量,如果发现他们都没有设置,最后就使用WINDOWS目录。 2. APC不支持分布式。 II. 安装: 从pecl4win.net.php下载PECL dll包,放到PHP5/ext...

升级php后phpmyadmin无法登陆

升级php后phpmyadmin无法登陆
一般情况是PHP.ini配置问题,根据下面的配置项再设置一次,然后重启服务器,试试!  (1) 设置扩展路径 查找extension_dir 有这么一行  ;extension_dir = "./" 在此行后面加入一行(注意是加入一行,不是加到后面)  extension_dir = "d:\php\ext" 其中d:\php是你安装php的路径。路径不正确将无法加载dll  (2) 查找extension  extension=php_mbstring.dll  extension=php_gd2.dll  extension=php_mysql.dl 把...

PHP的内码转换函数 mb_convert_encoding()

PHP的内码转换函数 mb_convert_encoding()
因为某程序要用输出UTF-8编码但是原数据是GBK编码的 百度 找了很多有关内码转换的类但是缺点很多。又不支持GBK TO UTF-8 不过一个一个找还是在PHP官方的FAQ找到了mb_convert_encoding() 该函数要在PHP4.0.6以上才有听说有的 想关链接:http://cn.php.net/manual/zh/function.mb-convert-encoding.php 做一个GBK To UTF-8 [code lang="php"] [/code] 再来个GB2312 To Big5 [code lang="php"] [/code]

PHP代码优化

PHP代码优化
1. 不要随便就复制变量 有时候为了使PHP 代码更加整洁,一些PHP 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入512KB 字节的文字到文本输入框中,这样就会导致1MB 的内存被消耗!  BAD: $description = $_POST['description']; echo $description; GOOD: echo $_POST['descriptio...

php日志错误异常处理

php日志错误异常处理
PHP输出所有的错误报告error_reporting=E_ALL设置 例如不显示警告error_reporting=E_ALL & ~E_WARNING 用PHP函数设置PHP.INI ini_set() 如 ini_set(“error_reporting”,E_ALL) 获取PHP.ini里面的值可以用函数ini_get() 如 ini_get(“upload_max_filesize”) PHP不显示错误报告PHP.ini 里面设置display_errors=off 我们在开发阶段要开启错误报告,运行阶段不要输入任何一种错误报告(用display_errors=Off...

PHP常用的几种缓存机制

PHP常用的几种缓存机制
普遍缓存技术 数据缓存:这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存表或文件中获得。 用的最广的例子看Discuz的搜索功能,把结果ID缓存到一个表中,下次搜索相同关键字时先搜索缓存表。 举个常用的方法,多表关联的时候,把附表中的内容...