PHP的POST方式

PHP的POST方式
对比表单POST和fsockopen提交两种不同方式的区别,表单POST方式提交情况下: $_POST 与 php://input可以取到值,$HTTP_RAW_POST_DATA 为空 $_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换。 php://input 可通过输入流以文件读取方式取得未经处理的POST原始数据 php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不...

PHP友好URL的实现

PHP友好URL的实现
下面的代码主要是伪静态的实现,搜索引擎喜欢 大家经常看到别的站的URL是这样的吧? https://www.xiariboke.net/module/show/action/list/page/7 或者 html">http://xiariboke.net/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 数据库问题

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

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

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

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

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程序员一般都忽略了的几点精华

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

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的内码转换函数 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缓存到一个表中,下次搜索相同关键字时先搜索缓存表。 举个常用的方法,多表关联的时候,把附表中的内容...

PHP服务器变量$_SERVER详解

PHP服务器变量$_SERVER详解
今天仔细学习了一下手册关于服务器变量的内容,写个一个笔记,贴出来希望对初学者有帮助。 服务器变量 $_SERVER 详解: 1、$_SESSION['PHP_SELF'] -- 获取当前正在执行脚本的文件名 2、$_SERVER['SERVER_PROTOCOL'] -- 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。 3、$_SERVER['REQUEST_TIME'] -- 请求开始时的时间戳。从 PHP 5.1.0 起有效。和time函数效果一样。 4、$_SERVER['argv'] -- 传递给...

PHP中getenv函数的用途

PHP中getenv函数的用途
在PHP中getenv(参数)函数是一个用于获取环境变量的函数,根据提供不同的参数可以获取不同的环境变量,具体如下: “PHP_SELF” 当前正在执行脚本的文件名,与 document root 相关。举例来说,在 URL 地址为 [url]http://example.com/test.php/foo.bar[/url] 的脚本中使用 $_SERVER['PHP_SELF'] 将会得到 /test.php/foo.bar 这个结果。__FILE__ 常量包含当前(例如包含)文件的绝对路径和文件名。 如果 PHP 以...

在公司遇到php的两个小问题

在公司遇到php的两个小问题
在公司遇到两个php小问题,特写下来,以便日后看到能解决. sleep(10);如果不放在for循环里面在流程下面将会继续执行,而不会等待. mb_strlen(val,"utf-8"); 还是有关中文的问题。PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍的差异了(在UTF-8编码下,一个汉字占3个字节)...

PHP获取当前时间差8小时的问题

PHP获取当前时间差8小时的问题
<?php  echo date("Y-m-d H:i:s"); //当前时间  ?> 这个方法获取的时间和标准时间差8小时; 从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的 也就是显示的时间(无论用什么php命令)都是格林威治标准时间 和我们的时间(北京时间)差了正好8个小时,有以下3中方法可以恢复正常的时间。 1,最简单的方法就是不要用php5.1以上的版本 2,如果一定要用,而且不能修改php.ini...

php shuffle()对数组随机排序代码

php shuffle()对数组随机排序代码

shuffle() 函数把数组中的元素按随机顺序重新排列。若成功,则返回 TRUE,否则返回 FALSE。
注释:本函数为数组中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。
注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成