02
Jun
07

Dynamic Forum Signature Tutorial

Here is a little tutorial of how to make dynamic forum signature using php.

Demo:

Display using this code

<img src=”http://fkn1337.com/demos/dynamic_browser_sig/browser.php” />

My sig here detects the viewer browser and displays specific image for it, and also shows percentage between 3 browser usage.

What You Need:

  • PHP Hosting (few free ones will also work like ripway.com)
  • GDI Image Library for PHP
  • A Brain (Optional)

Files and what they do:

  • browser.php – will contain main script and act as a image.
  • count.php – will save the viewers browser count values.
  • ie.jpg – this image will be used if viewer is using MS Internet Explorer.
  • ff.jpg – this image will be used if viewer is using FireFox.
  • op.jpg – this image will be used if viewer is using Opera Browser.
  • other.jpg – this image will be used if viewer is using non of the above.

count.php
count.php to save/get the browser views count

$iecount= 1;
$ffcount= 3;
$opcount= 1;

You will have to CHMOD this file to 777 (writeable) so php can change it.

Download count.php

browser.php
initialize the count variables set 1 to avoid division by zero error

$iecount=1;
$ffcount=1;
$opcount=1;

include count.php to get the old count values

include(”count.php”);

get the user browser

$agent = $_SERVER["HTTP_USER_AGENT"];

set browser value to the browser found. ie if Internet Explorer, ff if firefox, op if Opera else other

$browser=”other”;
if ( strstr($agent, “MSIE”) ) $browser = “ie”;
elseif ( strstr($agent, “Firebird”) ) $browser = “other”;
elseif ( strstr($agent, “Safari”) ) $browser = “other”;
elseif ( strstr($agent, “Mozilla/5″) ) $browser = “ff”;
elseif ( strstr($agent, “Mozilla/6″) ) $browser = “other”;
elseif ( strstr($agent, “Mozilla/4″) ) $browser = “other”;
elseif ( strstr($agent, “Opera”) ) $browser = “op”;

add one to the count of browser detected (will be later used to set display position too)

$ie=0;
$ff=0;
$op=0;
if($browser==”ie”) $ie++;
else if($browser==”ff”) $ff++;
else if($browser==”op”) $op++;

make content of new count.php file with incremented browser count value

$File = ‘ $iecount= '.($iecount+$ie).';
$ffcount= '.($ffcount+$ff).';
$opcount= '.($opcount+$op).';
?>‘;

write the count.php file

if ($FP = fopen (”count.php”, “w”)){
fwrite ($FP, $File);
fclose ($FP);
}

add up to get percentage

$total=$iecount+ $ffcount + $opcount;

get percentage for all

$ieperc=($iecount/$total)*100;
$ffperc=($ffcount/$total)*100;
$opperc=($opcount/$total)*100;

get image for specific browser

$im = imagecreatefromjpeg($browser.”.jpg”);

make font color to be used to display percentage values

$gery = ImageColorAllocate ($im, 255, 204, 109);

display ie, ff, op count as string on image

ImageString($im, 3, 271+($ie*2), 8+$ie,round($ieperc,0).”%”,$gery);
ImageString($im, 3, 431, 8+$ff,round($ffperc,0).”%”,$gery);
ImageString($im, 3, 592, 8+$op,round($opperc,0).”%”,$gery);

make .php to act as .jpg

header(”Content-type: image/jpeg”);

show the picture content

Imagejpeg($im,”,300);

free resources clear $im in cache

ImageDestroy ($im);

remember your browser.php and code.php should always start with <?php and end with ?> and no spaces before or after, otherwise your image wont showup
e.g.

<?php
///Your code here
///and here
//and here
//till you are done
//now end .php file
?>

Download browser.php

Four Images:
ie.jpg will be shown when user is viewing using Internet Explorer

ff.jpg will be shown when user is viewing using FireFox

op.jpg will be shown when user is viewing using Opera

other.jpg will be shown when user is viewing using none of the above

Download Full Package Dynamic Forums Signature

Demo Again:

Display using this code

<img src=”http://fkn1337.com/demos/dynamic_browser_sig/browser.php” />

FKN Share and Enjoy:
  • blogmarks
  • del.icio.us
  • Furl
  • Reddit
  • Digg
  • Facebook
  • LinkedIn
  • Live
  • MySpace
  • StumbleUpon
  • Technorati
  • TwitThis
  • Google

7 Responses to “Dynamic Forum Signature Tutorial”


  1. 1 OsteomyblootO Sep 2nd, 2007 at 11:10 pm

    Hi!
    I’m glad to join to the community.
    It is nice forum.
    But i want read more about this problem.
    Any suggestions?

  2. 2 BigBen Sep 22nd, 2007 at 6:40 am

    hey im new here. what is this forum about?
    hope to know all of u guys better!

  3. 3 xztheericzx Nov 9th, 2007 at 2:15 am

    i’m eric. joining a couple boards and looking
    forward to participating. hehe unless i get
    too distracted!

    eric

  4. 4 othedoTon Nov 13th, 2007 at 2:38 pm

    Hello
    I’ve just registered at the forum. This is my first message.
    Please don’t be angry about me.
    Thank you.

  5. 5 Broacycrurf Dec 16th, 2007 at 11:17 pm

    The name of BWIN is strongly linked with the concept of bookmaking, today seen as a worthwhile occupation.

  6. 6 oOgerryOo Dec 17th, 2007 at 10:23 pm

    Hello,
    I’m oOgerryOo.

    Just saying hey – I’m new.

  7. 7 lizzyfirt Jan 8th, 2008 at 3:53 am

    hello, i’m lizzy!

Leave a Reply




March 2010
M T W T F S S
« Feb    
1234567
891011121314
15161718192021
22232425262728
293031  

Categories

No categories

Xbox360

PS3

Hasnat's PSN

Flickr

www.flickr.com