From:             nicolas dot grekas+php at gmail dot com
Operating system: all
PHP version:      5.2.0
PHP Bug Type:     Feature/Change Request
Bug description:  Create a way to capture/unset headers sent by ob_gzhandler ?

Description:
------------
Hi,

I would like to implement a fine tuned output compression mechanism, and I
can't with any of the actual PHP function.
Basically, what I want is a function that does exactly what ob_gzhandler
does, but without sending the headers is sends.

I've thought about two possibilities to enable this :

- the first is to implement a generic way to manage the headers buffer, ie
a way to delete a header, not just replace it. This is a very generic
solution, and I think it would benefit to PHP in general.

- the second would be to add an option, maybe a third parameter, to
ob_gzhandler.

What do you think of that ?
At least, it would be worth for me. Maybe for others too ?

Reproduce code:
---------------
Here is an example of a simple thing that don't work, but could be
interesting :

<?php

function my_obgz($buffer, $mode)
{
    // This example miss some headers management,
    // but the basic idea is here.
    // And in fact, this headers managmement is impossible
    // with actual the PHP functions.

    $gz = ob_gzhandler($buffer, $mode);

    if ($mode == (PHP_OUTPUT_HANDLER_START | PHP_OUTPUT_HANDLER_END))
    {
        if (strlen($gz) < strlen($buffer)) $buffer =& $gz;
    }
    else $buffer =& $gz;

    return $buffer;
}

ob_start('my_obgz');


-- 
Edit bug report at http://bugs.php.net/?id=40324&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=40324&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=40324&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=40324&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=40324&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=40324&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=40324&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=40324&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=40324&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=40324&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=40324&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=40324&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=40324&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=40324&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=40324&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=40324&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=40324&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=40324&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=40324&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=40324&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=40324&r=mysqlcfg

Reply via email to