|
|
|
|
|
|
| |
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";
?> | | |
| 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 | |
| | Use this class to connect your database transparently... Categories : PHP Classes, Databases, PHP | | | Aspect-Oriented Programming Library fo PHP Categories : PHP, PHP Classes, Aspect Oriented Programming | | | TAB_STRUCT Class: Is supporting Class for the DBXML Class Categories : PHP, PHP Classes, MySQL, XML, Databases | | | PHP VXML Class : How to use PHP in VoiceXML applications Categories : PHP, PHP Classes, VXML | | | Reflection Examples - Their main goal is show how to use PHP's reflection classes re-implementing some php standard functions using reflection. Categories : PHP, PHP Classes, Classes and Objects | | | logger class (PHP5 +) Categories : PHP, PHP Classes, Log Files, XML | | | Use of bitmasks to represent permissions Categories : PHP, Authentication, Bitwise Operators, Security, PHP Classes | | | Gonx Proxy - This class is meant to act as an HTTP proxy to serve pages of a remote server as if they were local pages.
Categories : PHP, PHP Classes, HTTP | | | Object() = Custom __autoload + Singleton. "automagically" instantiates a class and always retuns the same instance of the same class. It's pretty useful when you want to have persistence in objects. Categories : PHP, PHP Classes, Algorithms | | | Three Cool Classes and One Trick Categories : PHP, PHP Classes, Graphics, Email | | | PHP class generator, must be used from Command line interface. Categories : PHP, PHP Classes, Shell Scripting | |
|
|