Archive

Archive for the ‘PHP’ Category

Ip address validation in PHP using regular expression

January 6th, 2012 No comments

If you don’t know how to validate the IP address format in PHP, then you are in the right place.

I’ll show you here how to validate the IP address using regular expression in PHP.

 

IP address consists four parts. Each parts separated by period “.” and these part consists the digits which ranges from 0 to 255.

Function to validate IP address in PHP using Regular Expression

//function to validate ip address format in php
function validateIpAddress($ip_addr)
{
//first of all the format of the ip address is matched
if(preg_match(“/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/”,$ip_addr))
{
//now all the intger values are separated
$parts=explode(“.”,$ip_addr);
//now we need to check each part can range from 0-255
foreach($parts as $ip_parts)
{
if(intval($ip_parts)>255 || intval($ip_parts)<0)
return false; //if number is not within range of 0-255
}
return true;
}
else
return false; //if format of ip address doesn’t matches
}

As you can see above, first of all the format of the “$ip_addr” is validated using regular expression. In the regular expression “\d{1,3}” means that there should be digits which can be either 1 to 3 digits because a IP Adress can be “222.0.123.12″ or
“12.15.123.5″. So, each part can consists 1 to 3 digits.

After validating the format using regular expression, each part of the IP address is separated using period(“.”) using explode() function available in PHP. And finally, it is checked that each part of the IP address is between 0 to 225 or not.

Categories: PHP, Tutorials Tags:

PHP – Converting IP to Country

December 20th, 2011 No comments

What to note is that differnet scripts use different IP to Address databases. Some are better than others.

If you’re interested in writing your own, you can download a database from sourceforge, or http://www.hostip.info for example..

Then use it to get the country from the IP.

Another way is to use a webservice.

For instance you can use this one:
http://www.hostip.info/use.html

To get the country would be:

http://api.hostip.info/country.php?ip=$IP

Where $IP is the user IP.

PHP would look something like:

<?php

$country = ”;
$IP = $_SERVER['REMOTE_ADDR'];

if (!empty($IP)) {
$country = file_get_contents(‘http://api.hostip.info/country.php?ip=’.$IP);
}
?>

Categories: PHP, Tutorials Tags:

Convert MySQL Query Result To Excel

June 24th, 2011 No comments

Using PHP to convert MySQL query result to Excel format is also common especially in web based finance applications. The finance data stored in database are downloaded as Excel file for easy viewing. There is no special functions in PHP to do the job. But you can do it easily by formatting the query result as tab separated values or put the value in an HTML table. After that set the content type to application/vnd.ms-excel

<?php
include ‘library/config.php’;
include ‘library/opendb.php’;

$query  = “SELECT fname, lname FROM students”;
$result = mysql_query($query) or die(‘Error, query failed’);

$tsv  = array();
$html = array();
while($row = mysql_fetch_array($result, MYSQL_NUM))
{
$tsv[]  = implode(“\t”, $row);
$html[] = “<tr><td>” .implode(“</td><td>”, $row) .              ”</td></tr>”;
}

$tsv = implode(“\r\n”, $tsv);
$html = “<table>” . implode(“\r\n”, $html) . “</table>”;

$fileName = ‘mysql-to-excel.xls’;
header(“Content-type: application/vnd.ms-excel”);
header(“Content-Disposition: attachment; filename=$fileName”);

echo $tsv;
//echo $html;

include ‘library/closedb.php’;
?>

Categories: PHP Tags:

PHP: Βρίσκοντας αρχεία με την function glob()

March 7th, 2011 No comments

// get all php files
$files = glob(‘*.php’);

print_r($files);
/* output looks like:
Array
(
[0] => phptest.php
[1] => pi.php
[2] => post_output.php
[3] => test.php
)
*/

Categories: PHP Tags: