News for hackers. Stuff that matters.
Re:The feature supported in IE6, but not Chrome by thomseddon on Thursday August 23, 2012 @08:43AM (#4422015)
http://www.thestudentcloud.co.uk/hn/test.php doesn't work for me in Chrome 21, but does in Opera 11?

Source:

<?php

header('Content-Encoding: gzip');

header('Content-Type: image/jpeg');

$fin = fopen('test.jpg', "rb");

$fout = fopen('php://output', "w");

$gzipFilter = stream_filter_append($fout, 'zlib.deflate', STREAM_FILTER_WRITE, array('level' => 6, 'window' => 15, 'memory' => 9));

stream_copy_to_stream($fin, $fout);

stream_filter_remove($gzipFilter);

fclose($fin);

fclose($fout);

Re:The feature supported in IE6, but not Chrome by pilif on Thursday August 23, 2012 @08:53AM (#4422070)
Content-Encoding: gzip implies a gz header. zlib.deflate just deflates and emits headerless data. Because creating a valid header requires the length of the content to be known, there's no stream filter in PHP to create a gz header.

To see Chrome decode your test image, use gzencode() or set Content-Encoding to deflate.

Re:The feature supported in IE6, but not Chrome by thomseddon on Thursday August 23, 2012 @08:59AM (#4422091)
Right you are! Thanks alot.

http://www.thestudentcloud.co.uk/hn/test2.php

<?php

header('Content-Encoding: gzip');

header('Content-Type: image/jpeg');

$data = file_get_contents('test.jpg');

$gzdata = gzencode($data, 9);

$fout = fopen('php://output', "w");

fwrite($fout, $gzdata);

fclose($fout);