Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /****************************************************************************************************************/
- /* Description: This snippet is provide simple way to help user display Visitor's Local 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-visitors-local-time-using-php-and-mysql-database */
- /****************************************************************************************************************/
- /* You can obtain free IP2Location DB11 LITE database for IPv4 at */
- /*https://lite.ip2location.com/database/ip-country-region-city-latitude-longitude-zipcode-timezone */
- <?php
- // Replace this MYSQL server variables with actual configuration
- $mysql_server = "mysql_server.com";
- $mysql_user_name = "UserName";
- $mysql_user_pass = "Password";
- // Retrieve visitor IP address from server variable REMOTE_ADDR
- $ip = $_SERVER['REMOTE_ADDR'];
- // Convert IP address to IP number for querying database
- $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 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);
- // Keep the time zone and country code as variables
- $country_code = $row['country_code'];
- $time_zone = $row['time_zone'];
- // Free recordset and close database connection
- mysqli_free_result($result);
- mysqli_close($link);
- $utc_time = gmdate("H:i:s");
- $utc_h = explode(':', $utc_time);
- if (strcmp($time_zone, "-") == 0) {
- $localdate = $utc_time;
- }
- else {
- $time = explode(':', $time_zone);
- if ($utc_h[0] + $time[0] < 0) {
- $hour = $utc_h[0] + 24 + $time[0];
- }
- elseif ($utc_h[0] + $time[0] >= 24) {
- $hour = $utc_h[0] + $time[0] - 24;
- }
- else {
- $hour = $utc_h[0] + $time[0];
- }
- $localdate = $hour . gmdate(":i:s");
- }
- date_default_timezone_set("Asia/Kuala_Lumpur");
- $date = date_create($localdate);
- echo 'Country Code: ' . $country_code . '<br />';
- echo 'Local Time: ' . date_format($date, "H:i:s"). '<br />';
- echo 'Server Time: ' . strftime("%H:%M:%S") . '<br />';
- echo 'UTC Time: ' . gmdate("H:i:s") . '<br />';
- // 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);
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement