Comment combiner les scripts de synchronisation CRON pour pousser régulièrement le temps de coucher du soleil obtenu à l'aide de Date_sunset de PHP chaque jour?
Lors du développement de systèmes push basés sur le temps, nous utilisons souvent des tâches de synchronisation pour effectuer automatiquement certaines opérations. Par exemple, nous pouvons régulièrement obtenir le temps de coucher du soleil d'une certaine zone et le pousser vers l'interface ou l'utilisateur spécifié. Cet article utilisera la fonction DATE_SUNSET de PHP combinée avec des tâches de synchronisation CRON pour réaliser la fonction de pousser régulièrement le temps de coucher du soleil chaque jour.
Tout d'abord, nous devons utiliser la fonction DATE_SUNSET de PHP pour obtenir l'heure du coucher du soleil. Cette fonction prend des paramètres tels que la latitude, la longitude et l'horodatage, et renvoie le temps du coucher du soleil.
<?php
// Définir le fuseau horaire
date_default_timezone_set('Asia/Shanghai');
// Définir la latitude et la longitude
$latitude = 39.9042; // Latitude de Pékin
$longitude = 116.4074; // Longitude à Pékin
// Obtenez l'heure du coucher du soleil(par Unix Timestamp Renvoie)
$sunset = date_sunset(time(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
// Former le temps de coucher de soleil dans un format lisible
$sunset_time = date("Y-m-d H:i:s", $sunset);
echo "L'heure du coucher du soleil d'aujourd'hui: " . $sunset_time;
?>
Nous voulons pousser régulièrement l'heure du coucher du soleil tous les jours, nous devons donc utiliser la tâche chronométrée CRON pour exécuter ce script PHP.
Nous avons déjà du code PHP pour obtenir le Sunset Time, et nous devons écrire ce code sur un script PHP, tel que send_sunset_time.php . Vous pouvez ajouter du code push au script pour pousser le temps de coucher du soleil à l'URL spécifiée.
<?php
// Définir le fuseau horaire
date_default_timezone_set('Asia/Shanghai');
// Définir la latitude et la longitude
$latitude = 39.9042;
$longitude = 116.4074;
// Obtenez l'heure du coucher du soleil
$sunset = date_sunset(time(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
$sunset_time = date("Y-m-d H:i:s", $sunset);
// Poussez le temps de coucher de soleil vers le URL(Supposer que API interface)
$api_url = 'https://m66.net/api/send_sunset_time'; // Remplacez par votre réel URL
$data = array(
'sunset_time' => $sunset_time
);
// utiliser cURL envoyer POST demander
$ch = curl_init($api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
curl_close($ch);
if ($response) {
echo "Le temps de coucher du soleil a été poussé avec succès: " . $sunset_time;
} else {
echo "Échec de la poussée";
}
?>
Cron est un planificateur de tâches chronométré dans le système Linux. Nous pouvons définir les scripts PHP pour exécuter chaque jour en modifiant Crontab .
Ouvrez le fichier Crontab :
crontab -e
Ajoutez une ligne pour définir le script sur l'exécution à une heure spécifiée chaque jour (par exemple, tous les jours à 18 h):
0 18 * * * /usr/bin/php /path/to/your/script/send_sunset_time.php
La signification de cette ligne de commande est: exécutez le script Send_Sunset_time.php à 18h00 tous les jours.
Enregistrer et quitter le fichier Crontab et la tâche chronométrée prendra effet.
Grâce aux étapes ci-dessus, nous avons implémenté l'utilisation de PHP pour obtenir le temps de coucher du soleil et pousser cette fois vers l'URL spécifiée via la tâche de synchronisation CRON .
Chaque fois que le système s'exécute, le système obtiendra automatiquement l'heure du coucher du soleil de la date actuelle et la poussera à l'URL (dans le code ci-dessus, l'URL a été remplacée par m66.net ). Cela peut nous aider à pousser régulièrement le temps de coucher du soleil de la journée vers le système pertinent.
Grâce à la fonction DATE_SUNSET de PHP, nous pouvons facilement obtenir l'heure du coucher du soleil. Combiné avec la tâche de synchronisation CRON , nous pouvons pousser ces informations à un moment fixe chaque jour. Cette méthode peut être largement utilisée dans les systèmes de poussée temporelle, tels que les prévisions météorologiques, le lever du soleil et les rappels de coucher de soleil, etc.