Как в PHP сжать файл с помощью gzip

Еще одна функция из набора юного (или даже матерого) пэхэпэшника. Гзиппует файл без чтения его полностью в память.

// Gzippes file without reading it into memory.
//
// @source - full path of src file
// @dest - [optional, default ''] full path of destination file. If empty, dest = sourse + '.gz'
// @level - [optional, default 9] compression level
//
// Returns size of gzipped file or FALSE on error.
function gzip_file($source, $dest='', $level=9)
{
    if ($dest == '')
        $dest = $source.'.gz';
        
    $mode = 'wb'.$level;
    $error=false;
    
    if($fp_out = gzopen($dest,$mode))
    {
        if($fp_in = fopen($source,'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 filesize($dest);
}

Оставить комментарий:

 

Комментарий: Предпросмотр

Комментировать как:

Имя:
 
Пароль:
 

 

Перепечатайте символы с картинки:

 

текст через пустую строку

превращается в отдельные абзацы
> так пишется
цитата
- список
- список
*курсив*, **жирный**
~~~
код
~~~

(Используется синтаксис Markdown)