note 46366 added to ref.zlib
| From: | admin_at_commandline_dot_ch at osu1 dot php dot net | Date: | Fri, 08 Oct 2004 12:32:56 +0000 |
| Subject: | note 46366 added to ref.zlib | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-78180@lists.php.net to get a copy of this message | ||
My gzip function.
This function read, compress and writhe only small chunks at one time, this way you can compress big
files without memory problems...
<?php
function gzip($src, $level = 5, $dst = false){
if($dst == false){
$dst = $src.".gz";
}
if(file_exists($src)){
$filesize = filesize($src);
$src_handle = fopen($src, "r");
if(!file_exists($dst)){
$dst_handle = gzopen($dst, "w$level");
while(!feof($src_handle)){
$chunk = fread($src_handle, 2048);
gzwrite($dst_handle, $chunk);
}
fclose($src_handle);
gzclose($dst_handle);
return true;
} else {
error_log("$dst already exists");
}
} else {
error_log("$src doesn't exist");
}
return false;
}
?>
----
Manual Page -- http://www.php.net/manual/en/ref.zlib.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+46366
Delete -- http://master.php.net/manage/user-notes.php?action=delete+46366&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+46366&report=yes
Search -- http://master.php.net/manage/user-notes.php