打包下载
php5.2中有内置的ArchiveZip,不过经过测试发现这个类超级不稳定,有时文件一多,压缩就会失败,甚至会丢失一些文件。
还好在网上发现一个很NB的压缩、解压类
http://gudai.cnblogs.com/archive/2005/12/16/298792.html
真的是相当的NB。
另外在使用usort对一个多维数组进行排序时,发现自定义排序函数只会对值的第一个元素值起作用。(也许是我哪个地方做得不对,也许是没认真看手册-,-) 如果将 $temp['filesize'] = filesize($realpath);放到后面,上面的排序就不起做用了。
如,我列出当前目录下的所有目录及文件,想按文件大小排序时,是这样操作的
$temp = array();
$temp['filesize'] = filesize($realpath);
$temp['filename'] = $item;
$temp['filetype'] = substr($item, strrpos($item, '.')+1);
$temp['createtime'] = filectime($realpath);
$temp['lastmodifytime'] = filemtime($realpath);
$temp['canedit'] = !in_array($temp['filetype'], $this->unlink);
$temp['ico'] = $ico;
$temp['isfile'] = is_file($realpath)? '1' :'0';
$arr[] = $temp;
usort(&$arr, 'fileComp'); //对$arr做排序
//fileComp函数
function fileComp($a,$b)
{
$i = 0;
if($a> $b)
{
$i= 1;
}
if($a< $b)
{
$i= -1;
}
return $i;
}
我试着将fileComp($a,$b)中的$a/$b做数组处理也不行,如:
function fileComp($a,$b)
{
$i = 0;
if($a['filesize']> $b['filesize'])
{
$i= 1;
}
if($a['filesize']< $b['filesize'])
{
$i= -1;
}
return $i;
}

:zzz:
酷,在线上传解压还是比较经典的。通过FTP上传压缩包,然后通过WEB解压管理,应该是不错~:up:
@peter:
想到一块去了,不过这样的在线文件管理员的安全性不可忽视^_^