![]() |
|
| >> Web Hosting Geeks // Web Hosting Articles // Web Development |
|
|
Track Your Visitors, Using PHP
There are many different traffic analysis tools, ranging from simple counters to complete traffic analyzers. Although there are some free ones, most of them come with a price tag. Why not do it yourself? With PHP, you can easily create a log file within minutes. In this article I will show you how! Getting the information The most important part is getting the information from your visitor. Thankfully, this is extremely easy to do in PHP (or any other scripting language for that matter). PHP has a special global variable called $_SERVER which contains several environment variables, including information about your visitor. To get all the information you want, simply use the following code: // Getting the information $ipaddress = $_SERVER['REMOTE_ADDR']; $page = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}"; $page .= iif(!empty($_SERVER['QUERY_STRING']), "?{$_SERVER['QUERY_STRING']}", ""); $referrer = $_SERVER['HTTP_REFERER']; $datetime = mktime(); $useragent = $_SERVER['HTTP_USER_AGENT']; $remotehost = @getHostByAddr($ipaddress); As you can see the majority of information comes from the $_SERVER variable. The mktime() (http://nl2.php.net/mktime) and getHostByAddr() (http://nl2.php.net/manual/en/function.gethostbyaddr.php) functions are used to get additional information about the visitor. Note: I used a function in the above example called iif(). You can get this function at http://www.phpit.net/code/iif-function. Logging the information Now that you have all the information you need, it must be written to a log file so you can later look at it, and create useful graphs and charts. To do this you need a few simple PHP function, like fopen (http://www.php.net/fopen) and fwrite (http://www.php.net/fwrite). The below code will first create a complete line out of all the information. Then it will open the log file in "Append" mode, and if it doesn't exist yet, create it. If no errors have occurred, it will write the new logline to the log file, at the bottom, and finally close the log file again. // Create log line $logline = $ipaddress . '|' . $referrer . '|' . $datetime . '|' . $useragent . '|' . $remotehost . '|' . $page . " "; // Write to log file: $logfile = '/some/path/to/your/logfile.txt'; // Open the log file in "Append" mode if (!$handle = fopen($logfile, 'a+')) { die("Failed to open log file"); } // Write $logline to our logfile. if (fwrite($handle, $logline) === FALSE) { die("Failed to write to log file"); } fclose($handle); Now you've got a fully function logging module. To start tracking visitors on your website simply include the logging module into your pages with the include() function (http://www.php.net/include): include ('log.php'); Okay, now I want to view my log file After a while you'll probably want to view your log file. You can easily do so by simply using a standard text editor (like Notepad on Windows) to open the log file, but this is far from desired, because it's in a hard-to-read format. Let's use PHP to generate useful overviews for is. The first thing that needs to be done is get the contents from the log file in a variable, like so: // Open log file $logfile = "/some/path/to/your/logfile.txt"; if (file_exists($logfile)) { $handle = fopen($logfile, "r"); $log = fread($handle, filesize($logfile)); fclose($handle); } else { die ("The log file doesn't exist!"); } Now that the log file is in a variable, it's best if each logline is in a separate variable. We can do this using the explode() function (http://www.php.net/explode), like so: // Seperate each logline $log = explode(" ", trim($log)); After that it may be useful to get each part of each logline in a separate variable. This can be done by looping through each logline, and using explode again: // Seperate each part in each logline for ($i = 0; $i < count($log); $i++) { $log[$i] = trim($log[$i]); $log[$i] = explode('|', $log[$i]); } Now the complete log file has been parsed, and we're ready to start generating some interesting stuff. The first thing that is very easy to do is getting the number of pageviews. Simply use count() (http://www.phpit.net/count) on the $log array, and there you have it; echo count($log) . " people have visited this website."; You can also generate a complete overview of your log file, using a simple foreach loop and tables. For example: // Show a table of the logfile echo ''; echo 'IP Address'; echo 'Referrer'; echo 'Date'; echo 'Useragent'; echo 'Remote Host'; foreach ($log as $logline) { echo ' | ||||
| ' . $logline['0'] . ' | ';' . urldecode($logline['1']) . ' | ';' . date('d/m/Y', $logline['2']) . ' | ';' . $logline['3'] . ' | ';' . $logline['4'] . ' | ';
Contus Support - Preferred Offshore Web Development Company in India I-Newswire.com (press release) Contus Support Interactive – http://www.contussupport.com, a complete web solutions company helps to provide all kinds of web development solutions across ... |
PHP Web development has become the Source of HiddenBrains Goodwill BigNews.biz (press release) HiddenBrains is the professional PHP web development company serving offshore clients for the last many successful years. With the experience of years in ... |
Hudson Horizons Ranked as the Best Web Development Agency for March 2010 by ... Online PR News (press release) bestwebdesignagencies.com, the independent authority on the best web development, has ranked the best web development agencies for March 2010. ... |
Bullseye Media Ranked Number 1 SEO Web Development Company in the UK PR Web (press release) ... Bullseye Media is the #1 SEO Web Development Company in the UK thanks to a survey by topseos.com, one of the UK's best independent ranking sites. ... Bullseye Media Recognized as the Best Web Development Firm in the United ... Bullseye Media Recognised As Top UK Link Building Company |
Ann Arbor's Logic Solutions Merges With Web Development Firm WWJ Ann Arbor-based Logic Solutions Inc. has merged with the Ann Arbor Web site development firm Arachne Web Technologies. Logic COO Bruce Richardson said the ... |
The Time is Now for Mobile Web Development HTML Goodies WebKit, a layout engine used by many mobile devices and web browsers, allows web developers to create mobile websites with CMS functionality. ... |
The Best Web Development Companies for March 2010 Ranked by topseos.com.au Online PR News (press release) Thousands of vendors were put through a stringent evaluation process in order to find the best web development companies. Online PR News – 17-March-2010 ... |
Headlines: MIX10: Microsoft demonstrates new Web development technologies and ... Associated News Today (blog) Microsoft today unveiled a public sneak peek of its newest browser, Internet Explorer 9, aimed at Web developers and the technically brave of heart. ... |
Web Development Firm Bayshore Solutions Wins Gold ADDY® for Their Work with ... PR Web (press release) Winning a Gold ADDY® Award for web development and design work on Grow4Students.org, a student banking website for Grow Financial Credit Union, ... |
Source Offers The Most Versatile Web Development Solutions BigNews.biz (press release) Source provides you with the best solutions of web development as it is a professional web site design provider and has hands on experience in providing the ... |
|
|
|
|
| © 2004 - 2008 "Web Hosting Geeks" | Web Hosting Reviews | Customer Reviews | RealMetrics Reviews | Hosting Articles | Directory | Partners | Contacts Over 7000 articles: web hosting, web development, domain names, ecommerce, web design, site promotion, ppc advertising, seo, site promotion and many others. Web hosting reviews, ratings and awards are not based on any incentives or commissions. Names and trademarks are the properties of their respective owners. A direct link to Web Hosting Geeks (http://webhostinggeeks.com) must be provided in order to use any of the above information. Contact us for more info. Partners: Hosts by speed, Cheap Website Hosting, Free Website Hosting, Cheap Web Hosting, Top 10 Web Hosts, Top 10 Web Hosting Deals, Best Website Hosting, Free Web Hosting, Free Web Hosting, Dedicated Server Hosting, Adult Web Hosting, Web Hosting Discussions, Dedicated Server Reviews, Best Web Hosting, Web Hosting Discounts, HostProfessor.com, rsuog, halyava, PHP Website Hosting Services, Web Hosting Reviews, Hosting Uptime, Best Web Hosting Reviews, Cheap Webhosting, Web Hosting, Flash Templates, CMS Templates, Web Hosting Reviews, Website Hosting Reviews, Web Hosting Providers, Best Web Hosting, Top Web Hosting, RSUOG Web Hosting |