1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
function gzcompressfile($path,$file,$dir, $level=false){
$dest=$dir."/".$file.'.gz';
$mode='wb'.$level;
$error=false;
if($fp_out=gzopen($dest,$mode)){
if($fp_in=fopen("$path$file",'rb')){
while(!feof($fp_in))
gzwrite($fp_out,fread($fp_in,1024*512));
fclose($fp_in);
}
else $error=true;
gzclose($fp_out);
}
else $error=true;
if($error) return false;
else return $dest;
}
function DirWalkAndCompress($path , $dir, $recursive=TRUE) {
if(!is_dir($path) || !is_readable($path))
return;
$fd = dir($path);
while($file = $fd->read()){
if(($file != ".") && ($file != "..")){
if(@is_dir("$path$file/")) {
mkdir ("$dir$file", 0777 );
$test = ($recursive)?DirWalkAndCompress("$path$file/","$dir$file/"):0;
}
else
gzcompressfile($path, $file,$dir);
}
}
$fd->close();
}
DirWalkAndCompress("./log_bruts/","./test/"); |
Partager