|
|
|
|
|
|
| |
IPv6 Detection class
@copyright 2002-2003 by Dynamix SARL
@author Ben Yacoub Hatem <hatem@php.net>
detect if an IP is IPv6
@param ip adresse ip א tester
@return true / false
|
<?php
class ipv6
{
function is_ipv6($ip = "")
{
if ($ip == "")
{
$ip = ipv6::get_ip();
}
if (substr_count($ip,":") > 0 && substr_count($ip,".") == 0){
return true;
} else {
return false;
}
}
/*
* Detect if an IP is IPv4
*
* @param ip adresse ip א tester
* @return true / false
*/
function is_ipv4($ip = "")
{
return !ipv6::is_ipv6($ip);
}
/*
* return user IP
*
* @return IP
*/
function get_ip()
{
return getenv ("REMOTE_ADDR");
}
/*
* Uncompress an IPv6 address
*
* @param ip adresse IP IPv6 א dיcompresser
* @return ip adresse IP IPv6 dיcompressי
*/
function uncompress_ipv6($ip ="")
{
if ($ip == "")
{
$ip = ipv6::get_ip();
}
if(strstr($ip,"::" ))
{
$e = explode(":", $ip);
$s = 8-sizeof($e)+1;
foreach($e as $key=>$val)
{
if ($val == "")
{
for($i==0;$i<=$s;$i++)
$newip[] = 0;
} else {
$newip[] = $val;
}
}
$ip = implode(":", $newip);
}
return $ip;
}
/*
* Compress an IPv6 address
*
* @param ip adresse IP IPv6 א compresser
* @return ip adresse IP IPv6 compressי
*/
function compress_ipv6($ip ="")
{
if ($ip == "")
{
$ip = ipv6::get_ip();
}
if(!strstr($ip,"::" ))
{
$e = explode(":", $ip);
$zeros = array(0);
$result = array_intersect ($e, $zeros );
if (sizeof($result) >= 6)
{
if ($e[0]==0) {$newip[] = "";}
foreach($e as $key=>$val)
{
if ($val !=="0")
{
$newip[] = $val;
}
}
$ip = implode("::", $newip);
}
}
return $ip;
}
}
/*
* IPv6 Compression
*/
echo " IPv6 compression : ".ipv6::compress_ipv6("0:0:0:0:0:0:0:1")."
n";
/*
* IPv6 Uncompression
*/
echo "IPv6 Uncompression : ".ipv6::uncompress_ipv6("::1")."
n";
/*
* Tester IPv6
*/
echo "Your IP is ".ipv6::get_ip()." et You're using : ";
echo (ipv6::is_ipv6())? "IPv6":"IPv4";
?> | | |
|
| Client classes for Dictionary servers UPDATED: 2000-06-06 Categories : Network, Search, Complete Programs, PHP Classes, PHP | | | Class that allows the PHP developer to establish connections with a POP3 mail server amd be able to list, retrieve and delete mail messages from a given mail box.
Categories : Network, Email, PHP, PHP Classes | | | base class to query the whois database Categories : Network, PHP, PHP Classes | | | Class for sending mail with MIME attachments in multipart format using external sendmail, mimencode and zip Categories : Email, Network, PHP, PHP Classes | | | Class that allows the PHP developer to create and manage UNIX like password files suitable for use as Apache authentication password files.
Categories : HTTP, PHP, PHP Classes, Filesystem | | | Vote-Poll script that has a wrapper class that allows the user to create
multiple polls on the same page with little trouble. Categories : PHP, PHP Classes, HTML and PHP | | | The GTV.class allows you to extract a value between any HTML tag or between any TEXT on a web page. Categories : PHP, PHP Classes, Regexps | | | 3 lines of Code to extract Tar, Zip, Gzip etc.. Categories : PHP, Filesystem, PHP Classes, Compression | | | Password reminder Categories : PHP, PHP Classes, Databases, MySQL, Mail | | | shopping cart class with add/edit/delete product functionality. Categories : PHP, PHP Classes, Ecommerce | | | POP3 Class Categories : PHP Classes, PHP, Email | | | Form Elements Class Categories : PHP, PHP Classes, Form Processing | | | MySQL Connection/Query Class Categories : Databases, MySQL, PHP, PHP Classes | | | Simple class for accessing databases like MSSql Server, Oracle etc by Raju Categories : PHP, MS SQL Server, Databases, PHP Classes, Oracle | | | Credit Card Identification and Validation Class - The credit_card class provides methods for cleaning, validating and identifying the type of credit card numbers. Categories : PHP, PHP Classes, Credit Cards, Ecommerce, Algorithms | |
|
|