I use frequently some PHP function


Before makes php the project development, uses frequently some functions, reorganize now, shares together with everybody

< ?php
class function_class{
/**
 * Get IP
 *
 * @return IP
 */
	function GetIP() {
		if ($_SERVER["HTTP_X_FORWARDED_FOR"]){
			$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
		}
		else if ($_SERVER["HTTP_CLIENT_IP"]){
			$ip = $_SERVER["HTTP_CLIENT_IP"];
		}
		else if ($_SERVER["REMOTE_ADDR"]){
			$ip = $_SERVER["REMOTE_ADDR"];
		}
		else if (getenv("HTTP_X_FORWARDED_FOR")){
			$ip = getenv("HTTP_X_FORWARDED_FOR");
		}
		else if (getenv("HTTP_CLIENT_IP")){
			$ip = getenv("HTTP_CLIENT_IP");
		}
		else if (getenv("REMOTE_ADDR")){
			$ip = getenv("REMOTE_ADDR");
		}
		else{
			$ip = "Unknown";
		}
		return $ip;
	}
 
	/**
 * Check Date
 *
 * @param  $date
 * @return true/false
 */
	function Check_Date($date) {
		$dateArr = explode("-", $date);
		if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2])) {
			return checkdate($dateArr[1],$dateArr[2],$dateArr[0]);
		}
		return false;
	}
 
	/**
 * Check time
 *
 * @param  $time
 * @return true/false
 */
	function Check_Time($time) {
		$timeArr = explode(":", $time);
		if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) {
			if (($timeArr[0] >= 0 && $timeArr[0] < = 23) && ($timeArr[1] >= 0 && $timeArr[1] < = 59) && ($timeArr[2] >= 0 && $timeArr[2] < = 59))
			return true;
			else
			return false;
		}
		return false;
	}
 
	/**
 * Date Difference 
 *
 * @param $date1
 * @param $date2
 * @param $unit  (second or minute or hour or day)
 * @return Two date difference second or minute or hour or day
 */
	function DateDiff($date1, $date2, $unit = "") {
		switch ($unit) {
			case 's':
				$dividend = 1;
				break;
			case 'i':
				$dividend = 60;
				break;
			case 'h':
				$dividend = 3600;
				break;
			case 'd':
				$dividend = 86400;
				break;
			default:
				$dividend = 86400;
		}
		$time1 = strtotime($date1);
		$time2 = strtotime($date2);
		if ($time1 && $time2)
		return (float)($time1 - $time2) / $dividend;
		return false;
	}
 
	/**
 * Browser information 
 *
 * @return info
 */
	function BrowseInfo()
	{
		$browser="";
		$browserver="";
		$Browsers =array("Lynx","MOSAIC","AOL","Opera","JAVA","MacWeb","WebExplorer","OmniWeb");
		$Agent = $GLOBALS["HTTP_USER_AGENT"];
		for ($i=0; $i<=7; $i++)
		{
			if (strpos($Agent,$Browsers[$i]))
			{
				$browser = $Browsers[$i];
				$browserver ="";
			}
		}
		if (ereg("Mozilla",$Agent) && !ereg("MSIE",$Agent))
		{
			$temp =explode("(", $Agent); $Part=$temp[0];
			$temp =explode("/", $Part); $browserver=$temp[1];
			$temp =explode(" ",$browserver); $browserver=$temp[0];
			$browserver =preg_replace("/([d.]+)/","1",$browserver);
			$browserver = " $browserver";
			$browser = "Netscape Navigator";
		}
		if (ereg("Mozilla",$Agent) && ereg("Opera",$Agent))
		{
			$temp =explode("(", $Agent); $Part=$temp[1];
			$temp =explode(")", $Part); $browserver=$temp[1];
			$temp =explode(" ",$browserver);$browserver=$temp[2];
			$browserver =preg_replace("/([d.]+)/","1",$browserver);
			$browserver = " $browserver";
			$browser = "Opera";
		}
		if (ereg("Mozilla",$Agent) && ereg("MSIE",$Agent))
		{
			$temp = explode("(", $Agent); $Part=$temp[1];
			$temp = explode(";",$Part); $Part=$temp[1];
			$temp = explode(" ",$Part);$browserver=$temp[2];
			$browserver =preg_replace("/([d.]+)/","1",$browserver);
			$browserver = " $browserver";
			$browser = "Internet Explorer";
		}
		if ($browser!="")
		{
			$browseinfo = "$browser$browserver";
		}
		else
		{
			$browseinfo = "Unknown";
		}
		return $browseinfo;
	}
 
	/**
 * OS information 
 *
 * @return OS information
 */
	function OSinfo() {
		$os="";
		$Agent = $GLOBALS["HTTP_USER_AGENT"];
		if (eregi('win',$Agent) && strpos($Agent, '95')) {
			$os="Windows 95";
		}
		elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {
			$os="Windows ME";
		}
		elseif (eregi('win',$Agent) && ereg('98',$Agent)) {
			$os="Windows 98";
		}
		elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {
			$os="Windows 2000";
		}
		elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {
			$os="Windows NT";
		}
		elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) {
			$os="Windows XP";
		}
		elseif (eregi('win',$Agent) && ereg('32',$Agent)) {
			$os="Windows 32";
		}
		elseif (eregi('linux',$Agent)) {
			$os="Linux";
		}
		elseif (eregi('unix',$Agent)) {
			$os="Unix";
		}
		elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {
			$os="SunOS";
		}
		elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) {
			$os="IBM OS/2";
		}
		elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) {
			$os="Macintosh";
		}
		elseif (eregi('PowerPC',$Agent)) {
			$os="PowerPC";
		}
		elseif (eregi('AIX',$Agent)) {
			$os="AIX";
		}
		elseif (eregi('HPUX',$Agent)) {
			$os="HPUX";
		}
		elseif (eregi('NetBSD',$Agent)) {
			$os="NetBSD";
		}
		elseif (eregi('BSD',$Agent)) {
			$os="BSD";
		}
		elseif (ereg('OSF1',$Agent)) {
			$os="OSF1";
		}
		elseif (ereg('IRIX',$Agent)) {
			$os="IRIX";
		}
		elseif (eregi('FreeBSD',$Agent)) {
			$os="FreeBSD";
		}
		if ($os=='') $os = "Unknown";
		return $os;
	}
 
	/**
 * Rand String
 *
 * @param int $len
 * @return String
 */
	function GetRandString($len)
	{
		$chars = array(
		"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
		"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
		"w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
		"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
		"S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
		"3", "4", "5", "6", "7", "8", "9"
		);
		$charsLen = count($chars) - 1;
 
		shuffle($chars);
		$output = "";
		for ($i=0; $i<$len; $i++)
		{
			$output .= $chars[mt_rand(0, $charsLen)];
		}
		return $output;
	}
 
	/**
 * Whether to assign in the length the string of character
 *
 * @param String $C_cahr
 * @param int $I_len1
 * @param int $I_len2
 * @return true/false
 */
	function CheckLengthBetween($C_cahr, $I_len1, $I_len2=100)
	{
		$C_cahr = trim($C_cahr);
		if (strlen($C_cahr) < $I_len1) return false;
		if (strlen($C_cahr) > $I_len2) return false;
		return true;
	}
 
	/**
 * Assigns the length the string to be whether legitimate
 *
 * @param String $C_Str
 * @param int $c_len1
 * @param int $c_len2
 * @return true/false
 */
	function CheckStr($C_Str,$c_len1=6,$c_len2=18)
	{
		if (!$this->CheckLengthBetween($C_Str, $c_len1, $c_len2)) return false;
		if (!ereg("^[_a-zA-Z0-9]*$", $C_Str)) return false;
		return true;
	}
 
	/**
 * Check Email Address
 *
 * @param $C_mailaddr
 * @return true/false
 */
	function CheckEmailAddr($C_mailaddr)
	{
		if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$",$C_mailaddr))
		{
			return false;
		}
		return true;
	}
}
?>

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments

No comments yet.

Leave a comment

(required)

(required)