PHP与文件压缩(Zlib)

zlib3d-b1
作为服务端开发人员,我们有可能会对一个文件或者一个文件夹进行压缩,因为需求总是不确定的嘛~PHP为我们提供了Zlib库,能够让我们轻松实现压缩的功能。

主要函数
$fp = gzopen('文件路径', '打开模式');
gzwrite($fp, '写入内容value');
gzclose($fp);
实际上这个跟普通的文件处理函数是一样的,例如fopen(),fwrite(),fclose(),只不过这里的gz类函数,是直接将文本内容写入压缩文件。

[cc lang=”php” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
0){
echo “备份 $db_name 数据库
“;
while(list($table) = mysql_fetch_array($r)){
$q2 = “Select * from $table”;//查询表中数据
$r2 = mysql_query($q2);
if(mysql_num_rows($r2) > 0){
//通过压缩的方式创建并且打开需要压缩的某个表的压缩文件
if($fp = gzopen(“$dir/{$table}_{$time}.sql.zip”, ‘w9’)){
while($row = mysql_fetch_array($r2)){
//通过foreach遍历表中数据
foreach($row as $value){
gzwrite($fp, “‘$value’, “);//通过gzwrite()来将表中数据写入压缩文件中
}
gzwrite($fp, ‘\n’);//并且在遍历一行表中数据后,添加一个换行
}
gzclose($fp);
echo “{$table}已经备份完毕
“;
}else{
echo “无法创建压缩文件”;
}
}
}
}
?>
[/cc]

 
在该代码中,可以将back_up文件夹放在Web文件夹之外,可提高安全性。
该技术在数据量小的时候效果不是特别明显,但是当数据量较大的时候就会有非常明显的压缩效果。
PHP与文件压缩(Zlib)
Tags:         

发表评论

电子邮件地址不会被公开。 必填项已用*标注