note 61766 added to ref.image

From: Date: Sat, 11 Feb 2006 07:27:42 +0000
Subject: note 61766 added to ref.image
Groups: php.notes 
Request: Send a blank email to php-notes+get-103492@lists.php.net to get a copy of this message
I have a script that generates an image for me to use on forums and the like which has information from a XML feed that I parse to get information to write on the sig. However I need to cache some images (about 3-5 minute cache) to prevent my bandwidth being zapped by it. Here is the code: <?php if($data = file_get_contents("http://bot2k3.net/api/mirrors.php?full")) { if($xml = xml_parser_create()) { /* Use XML parser */ if(xml_parse_into_struct($xml, $data, $values, $indexes)) { $online = $values[$indexes["ONLINE" ][0]]["value"]; $mirrors = $values[$indexes["MIRRORS"][0]]["value"]; $users = $values[$indexes["USERS"][0]]["value"]; $uptime = $values[$indexes["UPTIME"][$k ]]["value"]; /* Loop over indexes later */ $monline = "Mirrors online: " . $online . "/" . $mirrors; $uadded = "Total users since launch: " . $users; } } } else { echo "couldnt retrieve page"; } // declare variables $width = 600; $height = 120; $fontpath = "frizqt.ttf"; $addfont = "frizqt.ttf"; $bgjpg = "background.jpg"; $iconpng = "http://bot2k3.net/images/avatars/Current.imk.png"; // create a new image and allocate the colors we will use $im = imagecreatetruecolor($width, $height); $white = imagecolorallocate($im, 255, 255, 255); $fontcolor = imagecolorallocate($im, 15, 15, 15); // fill the canvas with white imagefill($im, 0, 0, $white); // open our background image $bg = imagecreatefromjpeg($bgjpg); // copy enough of the background image onto the canvas so that it is entirely covered // we only want the copied background to have 60% opacity imagecopymerge($im, $bg, 0, 0, 0, 0, $width, $height, 100); // close the background image imagedestroy($bg); // open our icon image $icon = imagecreatefrompng($iconpng); // copy the entire icon image onto our canvas (at the vertical center) imagecopy($im, $icon, 20, $height/2 - imagesy($icon)/2, 0, 0, imagesx($icon), imagesy($icon)); // render the sample text next to the icon imagettftext($im, 14, 0, 40 + imagesx($icon), 25, $fontcolor, $fontpath, "BOT2K3 Stats"); imagettftext($im, 12, 0, 40 + imagesx($icon), 50, $fontcolor, $fontpath, $monline); imagettftext($im, 12, 0, 40 + imagesx($icon), 75, $fontcolor, $fontpath, $uadded); imagettftext($im, 7, 0, 40 + imagesx($icon), 100, $fontcolor, $addfont, $list1 . " " . $list2); imagettftext($im, 5, 0, 420, 115, $fontcolor, $fontpath, "BUILD 2a :: powered by www.bot2k3.net"); // close the icon image imagedestroy($icon); // draw a border around the image imagerectangle($im, 0, 0, $width-1, $height-1, $fontcolor); imageinterlace($im, 1); // we are done; output the image as a PNG header("Content-Type: image/png"); imagepng($im); imagedestroy($im); ?> If someone would like to help me implement a cache for this script, please contact me on my email or on msn (same address) Thanks :) ---- Server IP: 203.114.129.125 Probable Submitter: 218.101.64.87 ---- Manual Page -- http://www.php.net/manual/en/ref.image.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+61766 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+61766&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+61766&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+61766&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+61766&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+61766&report=yes&reason=non-english Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+61766&report=yes&reason=already+in+docs Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+61766&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+61766&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#103492) next »