Useful PHP Codes
Increment a Date by Month, Day or Year
Increment by month
-
-
$time = strtotime("2014-12-11");
$d = date("Y-m-d", strtotime("+1 month", $time));
-
Increment by day
-
$time = strtotime("2014-12-11");
$d = date("Y-m-d", strtotime("+1 day", $time));
Increment by year
-
$time = strtotime("2014-12-11");
$d = date("Y-m-d", strtotime("+1 year", $time));
Verify Email Accounts
<?php
function verifyEmail($toemail, $fromemail, $getdetails = false)
{
$email_arr = explode("@", $toemail);
$domain = array_slice($email_arr, -1);
$domain = $domain[0];
// Trim [ and ] from beginning and end of domain string, respectively
$domain = ltrim($domain, "[");
$domain = rtrim($domain, "]");
if ("IPv6:" == substr($domain, 0, strlen("IPv6:"))) {
$domain = substr($domain, strlen("IPv6") + 1);
}
$mxhosts = array();
if (filter_var($domain, FILTER_VALIDATE_IP))
$mx_ip = $domain;
else
getmxrr($domain, $mxhosts, $mxweight);
$details = '';
if (!empty($mxhosts))
$mx_ip = $mxhosts[array_search(min($mxweight), $mxhosts)];
else {
if (filter_var($domain, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
$record_a = dns_get_record($domain, DNS_A);
} elseif (filter_var($domain, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
$record_a = dns_get_record($domain, DNS_AAAA);
}
if (!empty($record_a))
$mx_ip = $record_a[0]['ip'];
else {
$result = "invalid";
$details .= "No suitable MX records found.";
return ((true == $getdetails) ? array(
$result,
$details
) : $result);
}
}
$connect = @fsockopen($mx_ip, 25);
if ($connect) {
if (preg_match("/^220/i", $out = fgets($connect, 1024))) {
fputs($connect, "HELO $mx_ip\r\n");
$out = fgets($connect, 1024);
$details .= $out . "\n";
fputs($connect, "MAIL FROM: <$fromemail>\r\n");
$from = fgets($connect, 1024);
$details .= $from . "\n";
fputs($connect, "RCPT TO: <$toemail>\r\n");
$to = fgets($connect, 1024);
$details .= $to . "\n";
fputs($connect, "QUIT");
fclose($connect);
if (!preg_match("/^250/i", $from) || !preg_match("/^250/i", $to)) {
$result = "invalid";
} else {
$result = "valid";
}
}
} else {
$result = "invalid";
$details .= "Could not connect to server";
}
if ($getdetails) {
return array(
$result,
$details
);
} else {
return $result;
}
}
//Sample usage:
print_r(verifyEmail('<to email>', '<from email>'));
Calculate Coordinate Distances
function getDistance( $latitude1, $longitude1, $latitude2, $longitude2 ) {
$earth_radius = 6371;
$dLat = deg2rad( $latitude2 - $latitude1 );
$dLon = deg2rad( $longitude2 - $longitude1 );
$a = sin($dLat/2) * sin($dLat/2) + cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * sin($dLon/2) * sin($dLon/2);
$c = 2 * asin(sqrt($a));
$d = $earth_radius * $c;
return $d;
}
$distance = getDistance( 56.130366, -106.34677099999, 57.223366, -106.34675644699 );
if( $distance < 100 ) {
echo "Within 100 kilometer radius";
} else {
echo "Outside 100 kilometer radius";
}
}
No Comments