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程序员必知的13个编码好习惯总结

PHP程序员必知的13个编码好习惯总结
我是一个PHP新手,只有6个月的PHP编程经历,并且是在一位经过认证的zend工程师的指导下完成工作的,每当我编写脚本时,我会注意一些能让我做得更好的细节,也就是本文列举的这14个PHP编码好习惯,如果你有更好的建议,欢迎在本文后面的评论中发表,我这个人是喜欢求知的。 1、使用select从相同的数据库查询信息时,使用一个join语句一次性整齐地获取你需要的所有信息,而不要写多个mysql_query/while/mysql...

在公司遇到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() 函数给随机数发生器播种,现已被自动完成

php生成psd缩略图

php生成psd缩略图
1.psd文件为Photoshop的文件格式,浏览器不能直接显示,有个需求要将生成psd文件的预览图,Google了几天未找到可用的代码,遂自己研究了下,最终找到了解决方法,先将psd导出为jpg文件,然后再对其生成缩略图,这样就容易多了。 2.需使用到php的一个开源库:imagemagick,安装方法:Google中搜索“ImageMagick php windows 安装”,当然如果你是Linux的话,将Windows替换为Linux即可。 3.安装好了,关键是如...

浅谈PHP缓存技术之三

浅谈PHP缓存技术之三
php应用程序的性能优化 使用PHP编程的最大好处是学习这种编程语言非常容易以及其丰富的 库。即使对需要使用的函数不是十分了解,我们也能够猜测出如何完成一个特定的任务。 尽管PHP非常简单易学,但我们仍然需要花费一点时 间来学习PHP的一些编程技巧,尤其是与性能和内存占用相关的技巧。在PHP中,有许多小技巧能够使我们减少内存的占用,并提高应用程序的性能。在本篇文 章中,我们将对PHP应用程序的分析...

浅谈PHP缓存技术之二

浅谈PHP缓存技术之二
采用 PEAR 来缓冲 php 程序 PHP 世界中缓冲是一个热门的话题,因为 PHP 产生的动态页面,每次用户请求都需要重新计算,不论请求的结果是否一样,同时,PHP 每次都会编译一次脚本。这样的超负荷运转对一个流量很高的网站来说肯定难以忍受。幸运的是, Web 的结果可以缓冲,而不需要重新运行和编译脚本,商品化的产品像 ZendCache 或者开源的 Alternate PHP Cache都提供了把 PHP 脚本编译为字节代码并缓冲的...

浅谈PHP缓存技术之一

浅谈PHP缓存技术之一
近来做了一阵子程序性能的优化工作,有个比较有意思的想法,想提出来和大家交流一下。 Cache是“以空间换时间”策略的典型应用模式,是提高系统性能的一种重要方法。缓存的使用在大访问量的情况下能够极大的减少对数据库操作的次 数,明显降低系统负荷提高系统性能。相比页面的缓存,结果集是一种“原始数据”不包含格式信息,数据量相对较小,而且可以再进行格式化,所以显得相当灵 活。由于php是“一边编译一...

PHP常用MySql操作

PHP常用MySql操作
php中常用的几个 MySQL 语句 显示数据库或表: show databases;//然后可以use database_name; show tables; 更改表名: alter table table_name rename new_t; 添加列 : alter table table_name add column c_n column attributes; 删除列: alter table table_name drop column c_n; 创建索引: alter table c_table add index (c_n1,c_n2); alter table c_table add unique index_name(c_n); alter table c_t...

在PHP中如何使用模板

在PHP中如何使用模板
是否你面临着创建由一个编程人员(可能就是你)和一个设计人员同时进行创作的网站?你不知道如何使工作对你俩来说变得容易吗?我来给你答案:使用FastTemplate来使你的站点更容易定制! 好了,你可能想知道为什么你要使用FastTemplates。 ·可以在几秒钟改变你的整个站点的外观 ·抽象程序设计,没有垃圾HTML代码 ·设计人员不需要关心全部的"模糊"代码 ·令人惊讶地快 ·更容易重用旧的模版(对普通的表单而说...

正确解读PHP获取时间错误原因

正确解读PHP获取时间错误原因
当我们在运用PHP语言进行实际编程时通常都会遇到一些小麻烦而苦苦的去寻找解决的办法。我们在这里就为大家分享PHP获取时间错误的解决方法。 今天用echo date("Y-m-d H:i:s")获取系统时间时,发现获取的时间与系统的时间不符。 PHP是外国人开发的,所以经常有很多东西不太好用。研究了一番发现,PHP默认设置的时间是以格林威治时区为标准的,表现是和北京时间差8个小时,因此我们需要将其+8个小时,原理是我...

Smarty快速入门之二

Smarty快速入门之二

为了以后更方便的使用smarty,我们可以将“加载Smarty 模版引擎”、“建立 Smarty 对象”、“设定Smarty 对象的参数”这三步放到一个公共的php文件内,以后在需要使用的地方我们直接reuqire一下,即可,例如:

Smarty快速入门之一

Smarty快速入门之一
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。 Smarty的优点...