Notice: ob_end_flush(): failed to send buffer of zlib output compression (1) in
It solved when switched off zlib.output_compression in php.ini
zlib.output_compression = Off
What does this mean? Notice: ob_flush() [ref.outcontrol]: failed to flush buffer zlib output compression
You can't use gzip/zlib compression as well as flush.
Pick one or the other. I'd recommend gzip rather than flush.
How to dynamically create an image with a specified number on it?
Here's a an example how you could do it - use gd function calls to make your image, but play nice and cache the images. This sample plays even nicer by ensuring that if the browser already has the required image, it returns a 304...
#here's where we'll store the cached images
$cachedir=$_SERVER['DOCUMENT_ROOT'].'/imgcache/'
#get the score and sanitize it
$score=$_GET['score'];
if (preg_match('/^[0-9]\.[0-9]{1,2}$/', $score)
{
#figure out filename of cached file
$file=$cachedir.'score'.$score.'gif';
#regenerate cached image
if (!file_exists($file))
{
#generate image - this is lifted straight from the php
#manual, you'll need to work out how to make your
#image, but this will get you started
#load a background image
$im = imagecreatefrompng("images/button1.png");
#allocate color for the text
$orange = imagecolorallocate($im, 220, 210, 60);
#attempt to centralise the text
$px = (imagesx($im) - 7.5 * strlen($score)) / 2;
imagestring($im, 3, $px, 9, $score, $orange);
#save to cache
imagegif($im, $file);
imagedestroy($im);
}
#return image to browser, but return a 304 if they already have it
$mtime=filemtime($file);
$headers = apache_request_headers();
if (isset($headers['If-Modified-Since']) &&
(strtotime($headers['If-Modified-Since']) >= $mtime))
{
// Client's cache IS current, so we just respond '304 Not Modified'.
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $mtime).' GMT', true, 304);
exit;
}
header('Content-Type:image/gif');
header('Content-Length: '.filesize($file));
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $mtime).' GMT');
readfile($file);
}
else
{
header("HTTP/1.0 401 Invalid score requested");
}
If you put this in image.php, you would use as follows in an image tag<img src="image.php?score=5.5" alt="5.5" />
Related Topics
Dynamic Class Property $$Value in PHP
Add Some Attribute Values to Woocommerce Variable Product Title from Chosen Variation
Object Copy Versus Clone in PHP
How to Use Session Variables in Wordpress
How to Access Elements in an Array Returned from a Function
How to JSON_Encode Array with French Accents
How to Convert Arabic Characters to Unicode Using PHP
Setting Max_Input_Vars PHP.Ini Directive Using Ini_Set
How to Resize and Convert an Uploaded Image to a Png Using Gd
Adding an Additional Custom Field in Woocommerce Edit Account Page
Save Accents in MySQL Database
Get First Element in PHP Stdobject
Wordpress Paginate_Links - How to Use It
Facebook Graph API - Friends Using Application
Missing CSS File and Images After Url Rewrite
How to Access Outer Local Variable in PHP
How to Wrap Text Using Imagick in PHP So That It Is Drawn as Multiline Text