Position actuelle: Accueil> Derniers articles> Utilisez GetTimeOfday pour obtenir le décalage horaire de modification des fichiers

Utilisez GetTimeOfday pour obtenir le décalage horaire de modification des fichiers

gitbox 2025-05-26

1. Concepts de base


  • Renvoie le dernier temps de modification du fichier, dans le format de l'horodatage UNIX (deuxième niveau).

  • getTimeOfday ($ return_float = false)
    Renvoie les informations de temps actuelles. Si $ return_float est défini sur true , un numéro de point flottant sera renvoyé, y compris les secondes et les microsecondes, avec une précision plus élevée que le temps () .


2. Idées de mise en œuvre

  1. Utilisez FileMtime pour obtenir le dernier temps de modification du fichier (secondes).

  2. Utilisez GetTimeOfday (true) pour obtenir l'heure actuelle (nombre flottant de secondes, y compris les microsecondes).

  3. Calculez la différence entre les deux et obtenez la différence en secondes entre le temps de modification du fichier et l'heure actuelle.

  4. La différence peut être convertie en formats plus lisibles tels que les secondes, les minutes, les heures ou même plus détaillées.


3. Exemple de code

 <?php
// Supposer le chemin du fichier
$file = '/path/to/your/file.txt';

// Obtenez la dernière fois de la modification du fichier(Deuxième)
$file_mtime = filemtime($file);

// Obtenez l&#39;heure actuelle(包含微Deuxième的Numéro de point flottantDeuxième)
$current_time = gettimeofday(true);

// Calculez le décalage horaire,单位为Deuxième(Numéro de point flottant)
$time_diff = $current_time - $file_mtime;

// Définition de temps de sortie,réserve3Numéro décimal
echo "La dernière fois que le fichier est modifié est maintenant approximativement " . number_format($time_diff, 3) . " Deuxième。";

// Si vous souhaitez l&#39;afficher comme un format plus compréhensible,Converti peut être effectué
$minutes = floor($time_diff / 60);
$seconds = $time_diff % 60;

echo "\nEnviron {$minutes} indiquer {$seconds} Deuxième前修改的。";
?>

4. Choses à noter

  • FileMtime renvoie l'horodatage Unix du fichier, qui ne contient pas la partie microseconde, donc la précision du temps est en secondes.

  • GetTimeOfday (true) renvoie l'heure actuelle avec des microsecondes, avec une précision plus élevée.

  • Étant donné que le temps de modification du fichier n'a que la précision du deuxième niveau, la partie microseconde n'affectera pas le temps de modification du fichier lors du calcul de la différence de temps, mais peut être utilisé pour améliorer la précision de l'heure actuelle.

  • Convient pour surveiller si un fichier a été récemment modifié ou détecté pour la durée de mise à jour.


5. Exemple étendu: surveillance dynamique de la modification du fichier après l'heure définie

 <?php
$file = '/path/to/your/file.txt';
$max_interval = 3600; // 1Heure,单位Deuxième

$file_mtime = filemtime($file);
$current_time = gettimeofday(true);
$time_diff = $current_time - $file_mtime;

if ($time_diff > $max_interval) {
    echo "Le fichier a dépassé 1 Heure没有被修改。";
} else {
    echo "Les fichiers sont récents 1 Heure内有修改。";
}
?>

6. Résumé

La combinaison des fonctions GetTimeOfday (true) et FileMtime peut facilement implémenter le calcul exact de la différence de temps du temps de modification des fichiers et de l'heure actuelle. FileMtime fournit l'heure de modification du dernier fichier, GetTimeOfday fournit l'heure actuelle de haute précision et la combinaison des deux réalise une fonction de surveillance du temps simple et pratique du fichier.


Exemple de remplacement du nom de domaine

 <?php
$url = 'https://gitbox.net/path/to/resource';
echo "VisitéURLOui:" . $url;
?>