Comment déterminer le fuseau horaire d'un client en PHP
Récupérer le fuseau horaire d'un client peut être utile dans divers scénarios. Cette question explore une méthode permettant d'obtenir le fuseau horaire du client à l'aide d'une combinaison de JavaScript et de PHP, garantissant un affichage précis de l'heure, des opérations spécifiques au fuseau horaire ou un ciblage géographique.
Solution :
<code class="php">session_start(); $timezone = $_SESSION['time'];</code>
Ce code configure une variable de session nommé "time" pour stocker le fuseau horaire du client.
<code class="html"><script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> <script type="text/javascript"> $(document).ready(function() { if("<?php echo $timezone; ?>".length==0){ var visitortime = new Date(); var visitortimezone = "GMT " + -visitortime.getTimezoneOffset()/60; $.ajax({ type: "GET", url: "http://domain.com/timezone.php", data: 'time='+ visitortimezone, success: function(){ location.reload(); } }); } }); </script></code>
Ce script détecte si la variable PHP $timezone est vide (indiquant que le fuseau horaire d'un client n'a pas été défini) et récupère le décalage horaire du client à partir du navigateur à l'aide de JavaScript. Il envoie ensuite une requête AJAX à un script PHP sur le serveur avec ce décalage.
<code class="php">session_start(); $_SESSION['time'] = $_GET['time'];</code>
Ce script PHP stocke simplement le décalage horaire envoyé par AJAX dans la variable de session "time".
Comment ça marche :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!