PclZip简介
PclZip是一个很强大的压缩与解压缩zip文件的PHP类,PclZip library能够压缩与解压缩Zip格式的压缩档(WinZip、PKZIP);且能对此类类档案进行处理,包括产生压缩档、列出压缩档的内容以及解压缩档案等等。
简单、易用、强大是我对它的评价。
最近在开发我的Wordpress插件ShareLink,在这过程中,发现了PclZip这个操作zip文件的PHP类,不得不推荐下。
还有另外一个推荐的原因就是在它的源码里面让我发现了一个PHP函数参数的淫荡用法。下面将举例说明。
生成zip文件
用法一:
< ?php
include_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');
$v_list = $archive->create('file.txt,data/text.txt,folder');
if ($v_list == 0) {
die("Error : ".$archive->errorInfo(true));
}
?>
用法二:
< ?php
include_once('pclzip.lib.php');
&n ......
PHP中的字符串操作功能是比较多的,重要的有以下这些:
(1)echo,print,printf,sprintf
前两个函数是输出字符串.字符串中如果有变量名则被替换成其值. 后两个函数类似于C的同名函数.
(2)strchr,strlen,strtok,strrchr,strrev,strstr,strtolower, strtoupper,substr,ucfirst
这些是常用的字符串操作函数,有些和C中的同名函数意义完全一致.
strrev是把一个字符串翻转.
strtolower和strtoupper的意思应该不用解释了.
ucfirst是把字符串的第一个字符变成大写.
substr是返回字符串的一个子串,用法是:substr(字符串,头,长度).
头位置是 从0算起的.如果是负数,则是从尾部向前数的意思.
(3)Chr,Ord
类似于C的同名函数.
(4)explode,implode,join
这些是和数组有关的函数.
explode(字符串,分割符)返回一个将字符串在分割符处分开所产生的数组.
implode(数组,分割符)返回一个将数组各元素之间插上分割符而成的字符串.
join与 implode意义相同.
(5)Chop
去掉字符串尾部的空白.
(6)htmlspecialchars
将字符串中的HTML特殊字符换成它们的名字,例如"< "变成"<".
(7)nl2br ......
下面是一些非常有用的PHP类库,相信一定可以为你的WEB开发提供更好和更为快速的方法。
图表库
下面的类库可以让你很简的创建复杂的图表和图片。当然,它们需要GD库的支持。
pChart
- 一个可以创建统计图的库。
Libchart
- 这也是一个简单的统计图库。
JpGraph
- 一个面向对象的图片创建类。
Open Flash Chart
- 这是一个基于Flash的统计图。
RSS 解析
解释RSS并是一件很单调的事情,不过幸好你有下面的类库可以帮助你方便地读取RSS的Feed。
MagpieRSS
- 开源的PHP版RSS解析器,据说功能强大,未验证。
SimplePie
- 这是一个非常快速,而且易用的RSS和Atom 解析库。
缩略图生成
phpThumb
- 功能很强大,如何强大还是自己去体会吧。
支付
你的网站需要处理支付方面的事情?需要一个和支付网关的程序?下面这个程序可以帮到你。
PHP Payment Library
- 支持Paypal, Authorize.net 和2Checkout (2CO)
OpenID
PHP-OpenID
- 支持OpenID的一个PHP库。OpenID是帮助你使用相同的用户名和口令登录不同的网站的一种解决方案。如果你对OpenID不熟悉的话,你可以到这里看看:http://openid.net.cn/
数据为抽象/对象关系映射ORM
ADOdb
......
一. 1. 嵌入方法: 或者 2. 应用文件: (1)require("MyRequireFile.php"):放在php程序的最前面,在php程序执行前引入 (2)include("MyIncludeFile.php"):放在流程控制的处理部分,在运行到include时再读取进来 3. 注释方法: 混合C和汇编:// ,/* */, # 4. 变量类型: (1)PHP变量以 $ 开头 (2)PHP语句以 ; 结尾 5. 运算符号:+,-,*,/ , % , ++,—, . > ,=, ......
<?php
/**
* 把一个汉字转为unicode的通用函数,不依赖任何库,和别的自定义函数,但有条件
* 条件:本文件以及函数的输入参数应该用utf-8编码,不然要加函数转换
* 其实亦可轻易编写反向转换的函数,甚至不局限于汉字,奇怪为什么PHP没有现成函数
* @author xieye
*
* @param {string} $word 必须是一个汉字,或代表汉字的一个数组(用str_split切割过)
* @return {string} 一个十进制unicode码,如4f60,代表汉字 “你”
*
* @example
echo "你 ".getUnicodefromOneUTF8("你");
echo "<br />";
echo "好 ".getUnicodefromOneUTF8("好");
echo "<br />";
echo "你好 ".getUnicodefromOneUTF8("你好");
echo "<br />";
echo "你好吗 ".getUnicodefromOneUTF8("你好吗");
你 20320
好 22909
你好 251503099357000
你好吗 4.21952182258E+21
*/
function getUnicodefromOneUTF8($word) {
//获取其字符的内部数组表示,所以本文件应用utf-8编码!
if (is_array( $word))
$arr = $word;
else
$arr = str_split($word);
//此时 ......
最近的php版本好像已经到了5.3吧,有不少东西都出现了变化,从5.3开始,为了更好的向未来版本的php(版本6)过渡,将未来不再支持的函数标记成了deprecated。在代码中使用这些函数,将在页面中显示警告信息。
变更:
配置文件迁移
PHP 5.3 开始,配置文件 php.ini 中的一些配置将会在 PHP 执行时显示过时警告,这些配置将在 PHP6中不再存在,相关功能也将关闭。
1. define_syslog_variables
2. register_globals
3. register_long_arrays
4. safe_mode
5. magic_quotes_gpc
6. magic_quotes_runtime
7. magic_quotes_sybase
函数迁移
涉及到的主要的函数迁移如下:
删除函数 define_syslog_variables 引用
* 删除对函数 define_syslog_variables 的引用
* 将变量 $LOG_ERR, $LOG_USER 等用常量 LOG_USER, LOG_USER, … 替代
ereg, eregi 函数用 preg_match 函数替代
* 这几个函数的函数声明
int ereg ( string $pattern , string&nb ......