# Useful PHP Codes

### Increment a Date by Month, Day or Year

**Increment by month**

- 1. ```
        <span class="pln">$time = strtotime("2014-12-11");<br></br>$d = date("Y-m-d", strtotime("+1 month", $time));</span>
        ```

**Increment by day**

1. ```
    <span class="pln">$time = strtotime("2014-12-11");<br></br>$d = date("Y-m-d", strtotime("+1 day", $time));</span>
    ```

**Increment by year**

1. ```
    <span class="pln">$time = strtotime("2014-12-11");<br></br>$d = date("Y-m-d", strtotime("+1 year", $time));</span>
    ```

### Verify Email Accounts

```
<?php<br></br>function verifyEmail($toemail, $fromemail, $getdetails = false)<br></br>{<br></br>    $email_arr = explode("@", $toemail);<br></br>    $domain    = array_slice($email_arr, -1);<br></br>    $domain    = $domain[0];<br></br>    // Trim [ and ] from beginning and end of domain string, respectively<br></br>    $domain    = ltrim($domain, "[");<br></br>    $domain    = rtrim($domain, "]");<br></br>    if ("IPv6:" == substr($domain, 0, strlen("IPv6:"))) {<br></br>        $domain = substr($domain, strlen("IPv6") + 1);<br></br>    }<br></br>    $mxhosts = array();<br></br>    if (filter_var($domain, FILTER_VALIDATE_IP))<br></br>        $mx_ip = $domain;<br></br>    else<br></br>        getmxrr($domain, $mxhosts, $mxweight);<br></br>    $details = '';<br></br>    if (!empty($mxhosts))<br></br>        $mx_ip = $mxhosts[array_search(min($mxweight), $mxhosts)];<br></br>    else {<br></br>        if (filter_var($domain, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {<br></br>            $record_a = dns_get_record($domain, DNS_A);<br></br>        } elseif (filter_var($domain, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {<br></br>            $record_a = dns_get_record($domain, DNS_AAAA);<br></br>        }<br></br>        if (!empty($record_a))<br></br>            $mx_ip = $record_a[0]['ip'];<br></br>        else {<br></br>            $result = "invalid";<br></br>            $details .= "No suitable MX records found.";<br></br>            return ((true == $getdetails) ? array(<br></br>                $result,<br></br>                $details<br></br>            ) : $result);<br></br>        }<br></br>    }<br></br>    <br></br>    $connect = @fsockopen($mx_ip, 25);<br></br>    if ($connect) {<br></br>        if (preg_match("/^220/i", $out = fgets($connect, 1024))) {<br></br>            fputs($connect, "HELO $mx_ip\r\n");<br></br>            $out = fgets($connect, 1024);<br></br>            $details .= $out . "\n";<br></br>            <br></br>            fputs($connect, "MAIL FROM: <$fromemail>\r\n");<br></br>            $from = fgets($connect, 1024);<br></br>            $details .= $from . "\n";<br></br>            fputs($connect, "RCPT TO: <$toemail>\r\n");<br></br>            $to = fgets($connect, 1024);<br></br>            $details .= $to . "\n";<br></br>            fputs($connect, "QUIT");<br></br>            fclose($connect);<br></br>            if (!preg_match("/^250/i", $from) || !preg_match("/^250/i", $to)) {<br></br>                $result = "invalid";<br></br>            } else {<br></br>                $result = "valid";<br></br>            }<br></br>        }<br></br>    } else {<br></br>        $result = "invalid";<br></br>        $details .= "Could not connect to server";<br></br>    }<br></br>    if ($getdetails) {<br></br>        return array(<br></br>            $result,<br></br>            $details<br></br>        );<br></br>    } else {<br></br>        return $result;<br></br>    }<br></br>}<br></br><br></br>//Sample usage:<br></br>print_r(verifyEmail('<to email>', '<from email>'));
```

### Calculate Coordinate Distances

```
function getDistance( $latitude1, $longitude1, $latitude2, $longitude2 ) {  <br></br>    $earth_radius = 6371;<br></br><br></br>    $dLat = deg2rad( $latitude2 - $latitude1 );  <br></br>    $dLon = deg2rad( $longitude2 - $longitude1 );  <br></br><br></br>    $a = sin($dLat/2) * sin($dLat/2) + cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * sin($dLon/2) * sin($dLon/2);  <br></br>    $c = 2 * asin(sqrt($a));  <br></br>    $d = $earth_radius * $c;  <br></br><br></br>    return $d;  <br></br>    }<br></br><br></br>    $distance = getDistance( 56.130366, -106.34677099999, 57.223366, -106.34675644699 );<br></br>    if( $distance < 100 ) {<br></br>        echo "Within 100 kilometer radius";<br></br>    } else {<br></br>        echo "Outside 100 kilometer radius";<br></br>    }<br></br>}
```