Forum     

Go Back   Digit Technology Discussion Forum > Community > Tutorials
Register FAQ Calendar Mark Forums Read

Tutorials This section offers tutorials and How to's on just about anything related to computers and IT. Note: All tutorials are courtesy the posters and not verified by Digit

Closed Thread
 
LinkBack Thread Tools Display Modes
Old 18-12-2006, 04:04 PM   #1 (permalink)
Apprentice
 
Join Date: Jun 2006
Location: India
Posts: 67
Thumbs down Show Your Signature with viewers IP, Browser, etc...

You must have seen those Signature of people which show us our IP address!

Here`s how you do it.

Code:
<?php

/*****************************************************************

	File name: browser.php
	Author: Gary White
	Last modified: November 10, 2003
	
	**************************************************************

	Copyright (C) 2003  Gary White
	
	This program is free software; you can redistribute it and/or
	modify it under the terms of the GNU General Public License
	as published by the Free Software Foundation; either version 2
	of the License, or (at your option) any later version.
	
	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details at:
	http://www.gnu.org/copyleft/gpl.html

	**************************************************************

	Browser class
	
	Identifies the user's Operating system, browser and version
	by parsing the HTTP_USER_AGENT string sent to the server
	
	Typical Usage:
	
		require_once($_SERVER['DOCUMENT_ROOT'].'/include/browser.php');
		$br = new Browser;
		echo "$br->Platform, $br->Name version $br->Version";
	
	For operating systems, it will correctly identify:
		Microsoft Windows
		MacIntosh
		Linux

	Anything not determined to be one of the above is considered to by Unix
	because most Unix based browsers seem to not report the operating system.
	The only known problem here is that, if a HTTP_USER_AGENT string does not
	contain the operating system, it will be identified as Unix. For unknown
	browsers, this may not be correct.
	
	For browsers, it should correctly identify all versions of:
		Amaya
		Galeon
		iCab
		Internet Explorer
			For AOL versions it will identify as Internet Explorer (AOL) and the version
			will be the AOL version instead of the IE version.
		Konqueror
		Lynx
		Mozilla
		Netscape Navigator/Communicator
		OmniWeb
		Opera
		Pocket Internet Explorer for handhelds
		Safari
		WebTV
*****************************************************************/

class browser{

	var $Name = "Unknown";
	var $Version = "Unknown";
	var $Platform = "Unknown";
	var $UserAgent = "Not reported";
	var $AOL = false;

	function browser(){
		$agent = $_SERVER['HTTP_USER_AGENT'];

		// initialize properties
		$bd['platform'] = "Unknown";
		$bd['browser'] = "Unknown";
		$bd['version'] = "Unknown";
		$this->UserAgent = $agent;

		// find operating system
		if (eregi("win", $agent))
			$bd['platform'] = "Microsoft Windows";
		elseif (eregi("mac", $agent))
			$bd['platform'] = "MacIntosh";
		elseif (eregi("linux", $agent))
			$bd['platform'] = "Linux";
		elseif (eregi("OS/2", $agent))
			$bd['platform'] = "OS/2";
		elseif (eregi("BeOS", $agent))
			$bd['platform'] = "BeOS";

		// test for Opera		
		if (eregi("opera",$agent)){
			$val = stristr($agent, "opera");
			if (eregi("/", $val)){
				$val = explode("/",$val);
				$bd['browser'] = $val[0];
				$val = explode(" ",$val[1]);
				$bd['version'] = $val[0];
			}else{
				$val = explode(" ",stristr($val,"opera"));
				$bd['browser'] = $val[0];
				$bd['version'] = $val[1];
			}

		// test for WebTV
		}elseif(eregi("webtv",$agent)){
			$val = explode("/",stristr($agent,"webtv"));
			$bd['browser'] = $val[0];
			$bd['version'] = $val[1];
		
		// test for MS Internet Explorer version 1
		}elseif(eregi("microsoft internet explorer", $agent)){
			$bd['browser'] = "IE";
			$bd['version'] = "1.0";
			$var = stristr($agent, "/");
			if (ereg("308|425|426|474|0b1", $var)){
				$bd['version'] = "1.5";
			}

		// test for NetPositive
		}elseif(eregi("NetPositive", $agent)){
			$val = explode("/",stristr($agent,"NetPositive"));
			$bd['platform'] = "BeOS";
			$bd['browser'] = $val[0];
			$bd['version'] = $val[1];

		// test for MS Internet Explorer
		}elseif(eregi("ie",$agent) && !eregi("opera",$agent)){
			$val = explode(" ",stristr($agent,"ie"));
			$bd['browser'] = $val[0];
			$bd['version'] = $val[1];
		
		// test for MS Pocket Internet Explorer
		}elseif(eregi("mspie",$agent) || eregi('pocket', $agent)){
			$val = explode(" ",stristr($agent,"mspie"));
			$bd['browser'] = "MSPIE";
			$bd['platform'] = "WindowsCE";
			if (eregi("mspie", $agent))
				$bd['version'] = $val[1];
			else {
				$val = explode("/",$agent);
				$bd['version'] = $val[1];
			}
			
		// test for Galeon
		}elseif(eregi("galeon",$agent)){
			$val = explode(" ",stristr($agent,"galeon"));
			$val = explode("/",$val[0]);
			$bd['browser'] = $val[0];
			$bd['version'] = $val[1];
			
		// test for Konqueror
		}elseif(eregi("Konqueror",$agent)){
			$val = explode(" ",stristr($agent,"Konqueror"));
			$val = explode("/",$val[0]);
			$bd['browser'] = $val[0];
			$bd['version'] = $val[1];
			
		// test for iCab
		}elseif(eregi("icab",$agent)){
			$val = explode(" ",stristr($agent,"icab"));
			$bd['browser'] = $val[0];
			$bd['version'] = $val[1];

		// test for OmniWeb
		}elseif(eregi("omniweb",$agent)){
			$val = explode("/",stristr($agent,"omniweb"));
			$bd['browser'] = $val[0];
			$bd['version'] = $val[1];

		// test for Phoenix
		}elseif(eregi("Phoenix", $agent)){
			$bd['browser'] = "Phoenix";
			$val = explode("/", stristr($agent,"Phoenix/"));
			$bd['version'] = $val[1];
		
		// test for Firebird
		}elseif(eregi("firebird", $agent)){
			$bd['browser']="Firebird";
			$val = stristr($agent, "Firebird");
			$val = explode("/",$val);
			$bd['version'] = $val[1];
			
		// test for Firefox
		}elseif(eregi("Firefox", $agent)){
			$bd['browser']="Firefox";
			$val = stristr($agent, "Firefox");
			$val = explode("/",$val);
			$bd['version'] = $val[1];
			
	  // test for Mozilla Alpha/Beta Versions
		}elseif(eregi("mozilla",$agent) && 
			eregi("rv:[0-9].[0-9][a-b]",$agent) && !eregi("netscape",$agent)){
			$bd['browser'] = "Mozilla";
			$val = explode(" ",stristr($agent,"rv:"));
			eregi("rv:[0-9].[0-9][a-b]",$agent,$val);
			$bd['version'] = str_replace("rv:","",$val[0]);
			
		// test for Mozilla Stable Versions
		}elseif(eregi("mozilla",$agent) &&
			eregi("rv:[0-9]\.[0-9]",$agent) && !eregi("netscape",$agent)){
			$bd['browser'] = "Mozilla";
			$val = explode(" ",stristr($agent,"rv:"));
			eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent,$val);
			$bd['version'] = str_replace("rv:","",$val[0]);
		
		// test for Lynx & Amaya
		}elseif(eregi("libwww", $agent)){
			if (eregi("amaya", $agent)){
				$val = explode("/",stristr($agent,"amaya"));
				$bd['browser'] = "Amaya";
				$val = explode(" ", $val[1]);
				$bd['version'] = $val[0];
			} else {
				$val = explode("/",$agent);
				$bd['browser'] = "Lynx";
				$bd['version'] = $val[1];
			}
		
		// test for Safari
		}elseif(eregi("safari", $agent)){
			$bd['browser'] = "Safari";
			$bd['version'] = "";

		// remaining two tests are for Netscape
		}elseif(eregi("netscape",$agent)){
			$val = explode(" ",stristr($agent,"netscape"));
			$val = explode("/",$val[0]);
			$bd['browser'] = $val[0];
			$bd['version'] = $val[1];
		}elseif(eregi("mozilla",$agent) && !eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent)){
			$val = explode(" ",stristr($agent,"mozilla"));
			$val = explode("/",$val[0]);
			$bd['browser'] = "Netscape";
			$bd['version'] = $val[1];
		}
		
		// clean up extraneous garbage that may be in the name
		$bd['browser'] = ereg_replace("[^a-z,A-Z]", "", $bd['browser']);
		// clean up extraneous garbage that may be in the version		
		$bd['version'] = ereg_replace("[^0-9,.,a-z,A-Z]", "", $bd['version']);
		
		// check for AOL
		if (eregi("AOL", $agent)){
			$var = stristr($agent, "AOL");
			$var = explode(" ", $var);
			$bd['aol'] = ereg_replace("[^0-9,.,a-z,A-Z]", "", $var[1]);
		}
		
		// finally assign our properties
		$this->Name = $bd['browser'];
		$this->Version = $bd['version'];
		$this->Platform = $bd['platform'];
		$this->AOL = $bd['aol'];
	}
}

$br = new Browser;
$myimage = ImageCreateFromPng("baseimage.png");
$white=ImageColorAllocate($myimage, 255, 255, 255);
$number="$br->Platform, $br->Name version $br->Version";
Imagestring($myimage,3,50,3,$number,$white); 
$ipaddr = "Your IP Address: $_SERVER[REMOTE_ADDR]"; 
Imagestring($myimage,3,90,20,$ipaddr,$white);
header("Content-type: image/png");
ImagePng($myimage);
ImageDestroy($myimage);
?>
1) Save the above PHP code as a index.php.
2) Design a image by yourself (in photoshop probably.), name it as baseimage.png
3) Now save the index.php and in a folder and upload it through FTP to any server supporting php.
4) CMOD 777 to the files.
5) Then call index.php in your browser . that`s it

Note:
1. You can link to the index.php with the normal image tags.
2. For forum lovers, use this as your signature
i) If you have uploaded the files to a folder say, ippicture
ii) You have HTML Enabled on your signature filed (Can be done by Administrator in many forums!)

Code:
<img src="http://www.domain.com/ippicture/index.php">
Hope this was helpful.

With regards,
Prasanna.

Source: TweakUp.ORG
prasanna7287 is offline  
Advertisements. Register and be a member of the community to get rid of them.
Advertisement

Old 18-12-2006, 04:07 PM   #2 (permalink)
Romeo + Lucifer = ME
 
codename_romeo's Avatar
 
Join Date: Oct 2006
Posts: 979
Default Re: Show Your Signature with viewers IP, Browser, etc...

This was what i wanted........
And i really appreciate that you mentioned the original source reps for you
__________________
Sony Vaio CW26FG
Nokia E 63 + Iphone 3GS
Nikon D3000 + 50mm f/1.8 + 70-300mm Lens
codename_romeo is offline  
Old 18-12-2006, 04:43 PM   #3 (permalink)
champ_rock
 
champ_rock's Avatar
 
Join Date: Jun 2005
Location: Somewhere on the earth , near the equator
Posts: 751
Default Re: Show Your Signature with viewers IP, Browser, etc...

thinkdigit has blocked bbcode as well as html tags in signature therefore this will not work in this forum
__________________
-------------
Registered Linux user number 400618
champ_rock is offline  
Old 18-12-2006, 04:51 PM   #4 (permalink)
filth is me
 
forever's Avatar
 
Join Date: Apr 2006
Posts: 296
Default Re: Show Your Signature with viewers IP, Browser, etc...

i didnt get the whole ftp thing , can someone explain.
forever is offline  
Old 18-12-2006, 07:23 PM   #5 (permalink)
The Devil's Advocate
 
iMav's Avatar
 
Join Date: Mar 2006
Location: Masti Ki Paathshaala
Posts: 7,015
Default Re: Show Your Signature with viewers IP, Browser, etc...

u can also http://www.danasoft.com though u get predefined images .... this is a certainly a good find ....

as far as ftp it is a file transfer protocol .... all u need to do is upload the file on a server (web hosting server) using a ftp client (simple terms - an uploader) then change the file properties just like v do in windows to 777 (which means read, wirte is allowed)
__________________
"The problem that shows up with the three red lights on the console is a complex interaction with some very complex parts.” - Robbie Bach

http://beingmanan.com
twitter: manan | Last.FM: manan
iMav is offline  
Closed Thread

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +5.5. The time now is 12:25 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.

Search Engine Optimization by vBSEO 3.3.2