07-21
PclZip简介
PclZip是一个很强大的压缩与解压缩zip文件的PHP类,PclZip library能够压缩与解压缩Zip格式的压缩档(WinZip、PKZIP);且能对此类类档案进行处理,包括产生压缩档、列出压缩档的内容以及解压缩档案等等。
简单、易用、强大是我对它的评价。
最近在开发我的Wordpress插件ShareLink,在这过程中,发现了PclZip这个操作zip文件的PHP类,不得不推荐下。
还有另外一个推荐的原因就是在它的源码里面让我发现了一个PHP函数参数的淫荡用法。下面将举例说明。
生成zip文件
用法一:
07-12
PclZip介绍
PclZip library能够压缩与解压缩Zip格式的压缩档(WinZip、PKZIP);且能对此类类档案进行处理,包括产生压缩档、列出压缩档的内容以及解压缩档案等等。由于能够在伺服器端进行压缩与解压缩的动作,所以相当方便使用。
PclZip定义一个PclZip类别,其类别物件可视为一个ZIP档案,亦提供method来进行处理。
如何使用PclZip
1.基础
所有的功能都由pclzip.lib.php这个档案提供,PclZip library可于其首页(www.phpconcept.net/pclzip/index.en.php)下载。所有的PKZIP档案其实就是一个PclZip的类别物件。当产生一个PclZip档案(ie, PclZip类别物件),就会先产生一个压缩档,且档名已经指定,但此压缩档的内容尚未存在:
require_once('pclzip.lib.php');
$archive = new PclZip("archive.zip");
?>
此物件提供了一些public method可用来处理此档案。
06-09
起因:
在利用MooPHP的一个项目中,接到用户反馈说其所有客户不能上传文件,都返回失败。经过排查发现是PHP中的is_uploaded_file函数在捣鬼。
细节分析:
在正常情况下,通过PHP上传文件,需要通过is_uploaded_file函数来判断文件是否是通过 HTTP POST 上传的,这可以用来确保恶意的用户无法欺骗脚本去访问本不能访问的文件,例如 /etc/passwd。
而本次遇到的问题是本来应该是C:\WINDOWS\Temp\php99.tmp这样的tmp_name,却变成了C:\\WINDOWS\\Temp\\php99.tmp这种,导致is_uploaded_file函数返回错误的信息。
05-26
前言
无限分类其专业的命名就是存储树形结构,这是一个很常见的问题,但是有很多种解决方案。由于在PHP开发中涉及到关系型数据的存储,除非使用一种像XML的数据库,否则关系数据库中的表都不是层次结构的,他们只是一个平坦的列表。所以你必须找到一种把层次数据库转化的方法。
常用树形结构存储方案比较:
邻接列表模式
在SQL相关的教程文献中关于存储树形结构的示例,我们最常看到的就是邻接列表模式(Adjacency List Model)。
详细实现方式可自行搜索,这种也是在PHP开发中最常用到的方法。
优点:邻接列表模型很容易理解,代码也很简单。
缺点:嵌套查询SQL所耗费的时间,尤其是当分类的深度加深,查询的次数会以级数的速度增加。
优化:通过将整个树形结构缓存到文本来减轻数据库存储的压力。
改进前序遍历树
这种算法是目前应用较多的逻辑算法,他对分类深度和分类数据较多的属性分类有设计上的优势,在曾经做过的学生学分管理的项目中用过(学院分类、专业分类、班级分类、学生并且每个分类的数据都很多)。
05-21
公司新印制的MooPHP框架文化衫,发上来给大家PP。
想得到文化衫的同学,我可以在这里稍微透露下秘籍(恩,秘籍):在过段时间会举办一个基于MooPHP框架的原创设计大赛,然后…
恩,说的不多吧,
明天低调的发布第一个MooPHP的测试版本,目的是想通过大家更快的发现未解决的bug,然后加快MooPHP框架的速度和进程。所以,大家可以关注下www.ismole.net。
下面来几张图片给大家。
这是正面,可惜就是看不到我的头。

这是背面,不错吧,我的身杆还是很直的吧。

