/****************************************************************************************************************/
/* Description: This snippet is provide simple way to help user display Visitor's Sunrise and Sunset Time. */
/* suggestions for different city locations across the country. */
/* There are 1 steps in this snippet. For information, please visit IP2Location tutorial page at: */
/*https://www.ip2location.com/tutorials/display-sunrise-sunset-time-using-php-and-mysql-database */
/****************************************************************************************************************/
/* You can obtain free IP2Location LITE database for IPv4 at https://lite.ip2location.com/ */
<?php
// MySQL configuration
$mysql_server = "mysql_server.com";
$mysql_user_name = "User ID";
$mysql_user_pass = "password";
$ip = $_SERVER['REMOTE_ADDR'];
$ipno = Dot2LongIP($ip);
// Connect to the database server
$link = mysqli_connect($mysql_server, $mysql_user_name, $mysql_user_pass) or die("Could not connect to MySQL database");
// Connect to the IP2Location database
mysqli_select_db($link,"ip2location") or die("Could not select database");
// SQL query string to match the recordset that the IP number fall between the valid range
$query = "SELECT time_zone, country_code, latitude, longitude FROM ip2location_db11 WHERE $ipno <= ip_to LIMIT 1";
// Execute SQL query
$result = mysqli_query($link,$query) or die("IP2Location Query Failed");
// Retrieve the recordset (only one)
$row = mysqli_fetch_assoc($result);
// Retrieving data from database
$country_code = $row['country_code'];
$time_zone = $row['time_zone'];
$latitude = $row['latitude'];
$longitude = $row['longitude'];
// Free recordset and close database connection
mysqli_free_result($result);
mysqli_close($link);
// Setting Sun's zenith value
$zenith = 90+50/60;
$offset = explode(':', $time_zone);
date_default_timezone_set("UTC");
$date = date_create("UTC");
$sunset = date_sunset(date_timestamp_get($date), SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $offset[0]);
$sunrise = date_sunrise(date_timestamp_get($date), SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $offset[0]);
//Displaying output
echo 'Country Code: ' . $country_code . '<br />';
echo 'Sunset Time: ' . $sunset . '<br />';
echo 'Sunrise Time: ' . $sunrise . '<br />';
echo 'Latitude: ' . $latitude . '<br />';
echo 'Longitude: ' . $longitude . '<br />';
echo $time_zone;
// Function to convert IP address (xxx.xxx.xxx.xxx) to IP number (0 to 256^4-1)
function Dot2LongIP ($IPaddr) {
if ($IPaddr == "")
{
return 0;
}
else {
$ips = explode(".", $IPaddr);
return ($ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256);
}
}
?>
Comments