Objectif
L’objectif de cette page est de regrouper différentes fonctions PHP permettant des conversions diverses.
Elle sera donc complétée au fur et à mesure que j’aurais développé de nouvelles fonctions de ce genre.
Convertir des Octets en Ko, Mo, Go,…
Cette fonction PHP permet d’attribuer la bonne unité à un nombre expimé en octets.
Code
function convert_octets($octet, $round) { $unite_spec = array('o','Ko','Mo','Go','To'); $count=0; $c = count($unite_spec); while($octet>=1024 && $count<$c-1) { $count++; $octet/=1024; } if($round>=0) { $arr = pow(10,$round); $number = round($octet*$arr)/$arr; } else { $number = $octet; } return(str_replace(".",",",$number.' '.$unite_spec[$count])); }
Explications
La fonction prend deux paramètres:
- $octet : Le nombre en octet qui sera converti à la bonne unité
- $round: Le nombre de chiffre après la virgule (le degré d’arrondissement du nombre)
La variable $unite_spec permet de définir les unités (octets, Ko, Mo, Go,…) Si vous devez utiliser cette fonction dans un contexte de langue anglaise préférez (B,KB,MB,GB,TB)
La fonction va retourner une chaîne de caractères avec le paramètre $octet exprimé dans la bonne unité, suivi de l’unité en fonction.
Exemple
<?php // La fonction: echo convert_octets('25069584', '2'); // Donnera le résultat suivant: 23,91 Mo ?>
Conversion de Secondes en Heures:Minutes:Secondes
Cette fonction PHP convertit un nombre de secondes en heures, minutes et secondes au format HH:MM:SS
Code
function convert_seconds($seconds) { $tps = $seconds % 3600; $time[0] = ( $seconds - $tps ) / 3600 ; $time[2] = $tps % 60 ; $time[1] = ( $tps - $time[2] ) / 60; if($time[0] < 10) { $hours = "0".$time[0]; }else{ $hours = $time[0]; } if($time[1] < 10) { $minutes = "0".$time[1]; }else{ $minutes = $time[1]; } if($time[2] < 10) { $sec = "0".$time[2]; }else{ $sec = $time[2]; } return "$hours:$minutes:$sec"; }
Explications
La fonction prend un seul paramètre:
- $seconds : Le nombre de secondes à convertir
Elle retourne le temps au fomat H:i:s (PHP) ou plus parlant HH:MM:SS
Exemples
<?php // La fonction: echo convert_seconds('250759'); // Donnera le résultat suivant: 69:39:19 echo convert_seconds('3605'); // Donnera le résultat: 01:00:05 ?>