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/mktime) 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://nl2.php.net/mktime.

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://nl2.php.net/mktime) and fwrite (http://nl2.php.net/mktime).

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://nl2.php.net/mktime):

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://nl2.php.net/mktime), 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://nl2.php.net/mktime) 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 '';

echo '' . $logline['0'] . '';

echo '' . urldecode($logline['1']) . '';

echo '' . date('d/m/Y', $logline['2']) . '';

echo '' . $logline['3'] . '';

echo '' . $logline['4'] . '';

echo '';

}

echo '';

You can also use custom functions to filter out search engines and crawlers. Or create graphs using PHP/SWF Charts (http://nl2.php.net/mktime). The possibilities are endless, and you can do all kinds of things!

In Conclusion...

In this article I have shown you have to create a logging module for your own PHP website, using nothing more than PHP and its built-in functions. To view the log file you need to parse it using PHP, and then display it in whatever way you like. It is up to you to create a kick-ass traffic analyzer.

If you still prefer to use a pre-built traffic analyzer, have a look at http://nl2.php.net/mktime.

About The Author

Dennis Pallett is a young tech writer, with much experience in ASP, PHP and other web technologies. He enjoys writing, and has written several articles and tutorials. To find more of his work, look at his websites at http://nl2.php.net/mktime, http://nl2.php.net/mktime and http://nl2.php.net/mktime.

executive chauffeured services Bradford .. Madison to Airport car
In The News:

Getting virus alerts on your iPhone? Tech expert Kurt “CyberGuy" Knutsson helps you learn how to handle fake scam alerts and boost security.
Tech expert Kurt “CyberGuy" Knutsson says opening emails is safe, but risks arise from interacting with links, attachments or HTML content.
Tech expert Kurt “CyberGuy" Knutsson reveals four signs of compromised Social Security numbers and offers five steps to protect yourself.
Tech expert Kurt “CyberGuy" Knutsson discusses how MAB Robotics' Honey Badger 4.0, a versatile robot, now walks underwater with amphibious skills.
An updated Android trojan called FakeCall hijacks bank calls. Tech expert Kurt “CyberGuy" Knutsson says Android phone manufacturers and Google need to step up their game on security.
The Massimo Modular E9 is a sleek, smart and comfy tiny home in 409 square feet. Tech expert Kurt “CyberGuy" Knutsson takes a closer look at what the future of housing might look like.
Every stock trader should consider a virtual private network to safeguard their trading, according to tech guru Kurt "CyberGuy" Knutsson.
Apple recently announced its new lineup of Macs and rolled out Apple Intelligence, its latest artificial intelligence-powered feature for its products.
A Swiss-engineered robot can climb ladders, showing why it's at the cutting edge of autonomous robotic solutions for harsh industrial settings.
Kurt "CyberGuy" Knutsson presents the cities targeted most by robocalls, why this is happening and what you can do about it to protect your privacy.
Stay up to date on the latest AI technology advancements and learn about the challenges and opportunities AI presents
Kurt "CyberGuy" Knutsson shares tips and suggestions for how to get the best use out of the updated Calendar app available with the latest iOS update.
Your Social Security number, your unique identifier used for many purposes, has likely been leaked on the Dark Web; here are some steps you can take to protect yourself.
Researchers have developed a new technology that creates strong, sticky fibers capable of lifting objects and capturing things from a distance.
Smart rings track the same things that smartwatches do, including steps, sleep and a general overview of your overall health, and they tend have more battery life than smartwatches.
Researchers have developed a robotic finger that can perform routine medical exams like those conducted by doctors, helping to address the growing shortage of trained professionals.
Stay up to date on the latest AI technology advancements and learn about the challenges and opportunities AI presents now and for the future.
Insurance administrative services company Landmark Admin reported that a data breach from a May cyberattack affected over 800,000 people.
Sotheby's will auction the first artwork created by Ai-Da, the world's first robot artist created in 2019 by British gallerist Aidan Meller.
More than 250 million users of the Verizon Messages app will have to switch to another app. Verizon is shutting down Messages in the next month.
Tech expert Kurt “CyberGuy" Knutsson provides a list of 10 celebrities who are the most targeted by deepfake scams, including Tom Hanks.
Tech expert Kurt “CyberGuy" Knutsson discusses how Vast's Haven-1, launching in 2025, transforms space living with human-centric design.
UnitedHealth confirms over 100 million Change Healthcare users had their data stolen. Kurt “CyberGuy" Knutsson reveals what happened and what caused the breach.
Tech expert Kurt “CyberGuy" Knutsson explains how iOS 18 brings new text formatting and animated effects to the Messages app.
Whether you're a social media veteran or novice, Facebook friend request scams are common. Kurt the CyberGuy provides tips to keep your account safe.

Do You Really Need A Website To Succeed

Rosalind wants to share her inspirational poetry with a wider... Read More

Tips for Building a Great Business Website

A website is lifeline of internet home business. In order... Read More

How to Handle Web Surfers Who Disabled JavaScript

There are hundreds of millions of Web surfers today. Each... Read More

You Need To Treat Your Website Like An Employee - Heres 5 Ways To Do It

People often come to me in a state of crisis... Read More

Web Content: How Much Should I Pay?

When web content gets discussed on webmaster bulletin boards, the... Read More

Top 7 Tips for Building an Antique Car Website

Like wine cars get more attractive to collectors as years... Read More

Building a Great Intranet Taxonomy

While it may seem like a "quick and easy" task,... Read More

Better Web Site ROI: Efficient Online Business with SEO, PPC, Split Testing, and Forums

If you're looking for better web site ROI, chances are,... Read More

How to Create Sizzling Sales online

"Don't Sell the Steak, Sell the Sizzle."Have you heard of... Read More

Why a CSS Website Layout Will Make You Money

Although CSS layouts have been around for years, they haven't... Read More

Three Things Every Website Should Do

When I started my company in 2002, I knew I... Read More

I Did It: Six Months to a Successful Website

For years now I've been looking to start my own... Read More

Make Your Web Site User-Friendly!

Making a web site is easy. Making a good web... Read More

In Business? 10 Reasons Why You Need a Website -- Now!

1) Word of Mouth The single most powerful form of... Read More

Web accessibility for screen magnifier users

The needs of screen magnifier users are overlooked when implementing... Read More

Pick Up Your Own Domain Name

Think up a name and check if yourname.com is available.... Read More

Enhance Your Website With A Yahoo-Style Directory

Does your website have a links/resources page?Do you exchange reciprocal... Read More

Streamline your Business Website with a Content Management System

I talk with so many people who have small businesses... Read More

PHP Redirect

A PHP Redirect automatically transfers a web user from one... Read More

From Search to Sale

The Internet car buyer is an elusive animal. Trying to... Read More

Eight Deadly Web Site Mistakes and How to Avoid Them

Creating and maintaining an effective presence on the Web has... Read More

Getting a Web Site Can Be Fast, Easy, and Inexpensive When You Know Your Options

So what do you do if need to get a... Read More

If Its Done Its Done for: Make Your Website Part of Your Business before You Build

Web sites are an Ongoing Part of Business.All too many... Read More

Five Essential Questions to Answer Before Creating Your First (or second...or third) Website

Right after the thought, "I need a website," people usually... Read More

Website Sales: 10 Reasons Why People Dont Buy From You

You've put up a website to promote a product or... Read More

O'Hare Chicago prom limo ..