![]() |
|
| >> 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'] . ' | ';
Important Tips for Website Development BigNews.biz (press release) Outline your success factors clearly because it is important to measure the effectiveness of your web development initiative. ... |
![]() Brafton | Google opens up its JavaScript development toolbox to all Ars Technica Google is providing the web development community with an intriguing glimpse under the hood at some ... Google unleashes internal JavaScript tools Google Launches Closure Tools: A Javascript Candy Store Google brings Closure to open source JavaScript devs |
529.com Wins Outstanding Achievement in Web Development Reuters Upromise Investments` Educational Website Helps Bring Clarity to 529 Savings Plans NEWTON, Mass.--(Business Wire)-- Upromise Investments, Inc., ... |
Droid First Step in iphone ... InternetNews.com PC-like debate in the tech world," Tim mclaughlin, CEO of mobile app and Web development firm Siteworx, told internetnews.com."History shows that unlike ... |
Vince's Reaction to the Hogan iMPACT Rating, WWE Wins Awards, Big Show, Bearer LordsofPain.net - WWE won an Outstanding Achievement in Web Development award from the Web Marketing Association recently for their WrestleMania website ... |
Eich: JavaScript getting faster, could displace Flash InfoWorld JavaScript, the now-ubiquitous scripting language popular in client-side Web development, has gotten faster and could find itself ... |
NY Web Design Firm Says That Quality Web Development Costs Money Online PR News (press release) Established in 2003, dzine it, inc. is a leader in Custom web development, programming and design solutions for small and large business, agencies. ... |
![]() PR-Inside.com (Pressemitteilung) | Keeping Up With Google Is Essential To SEO Success Online PR News (press release) Established in 2003, dzine it, inc. is a leader in Custom web development, programming and design solutions for small and large business, agencies. ... SEO is a Task for Marketers, NOT Web Developers |
Greater Works is Connecting People to the World PR-USA.net (press release) In October 2009, the home-based web development company in Fredericksburg, VA, Greater Works Business Service, has announced the kickoff of its Business ... |
uMonitor, T8 Webware Announce Strategic Alliance Reuters About T8 Webware T8 Webwareis a strategic Web development, management and hosting firm that caters specifically to financial institutions. ... |
|
|
|
|
| © 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 |