le MEMO du WEB développeur
••• Divers •••  Liste des Mémos, astuces et bonnes pratiques

Script pour jongler avec les octets - Convertir octet / ko / Mo / Go

Calculer

Code pour jonglet entre les octets (Bytes en anglais), Ko (kilos-octet), Mo (Méga-octet), Go (Giga-octet) en utilisant le binôme Javascript Ajax.

Grossières estimations : 

  • Une image pèse entre quelques ko et quelques Mo.
  • Un film pèse entre plusieurs centaines de Mo et quelques Go

Formulaire de conversion d'octets

A noter que j'ai utilisé le plugin JQuery joliSelect pour styliser l'élément HTML Select.

Fichier form-octet.html :

Conversion d'octets : 
<form method="POST" action="">
  <input id="valeur_octet" type="text"/>
  <select id="unite_octet">
     <option value="1" >o</option>
     <option value="2" selected="selected">Ko</option>
     <option value="3">Mo</option>
     <option value="4">Go</option>    
  </select>
  <div id="calcul_octet">Calculer</div>
  <div id="resultat"></div>
</form>

Code Javascript :

<script type="text/javascript">
$(document).ready( function () {
$("#calcul_octet").click(function() {
   $.ajax({
      url      : "octet.php",    
      data     : {valeur_octet : $("#valeur_octet").val(), unite_octet : $("#unite_octet").val()},
      cache    : false,
      dataType : "json",
    error : function(request, error) { // Info Debuggage si erreur        
   alert("Erreur : responseText: "+request.responseText);
      },
      success: function(data) {  
           if (data.valeur_o > 0)     
             $("#resultat").html(data.valeur_o + ' octet(s) <br/> '+
                                           data.valeur_ko + ' ko <br/> '+
                                           data.valeur_Mo + ' Mo <br/> '+
data.valeur_Go + ' Go <br/> ' );
          
        }
     });
  });
  });
</script>

Code PHP (octet.php) :

  if (isset($_REQUEST['valeur_octet'])){
    $valeur=$_REQUEST['valeur_octet'];
  }else $valeur=0;
  $unite= $_REQUEST['unite_octet'];
   $result_o  ='';
   $result_Ko ='';
   $result_Mo =''; 
   $result_Go ='';
  switch ($unite)
{
    case 1:
   $result_o   = $valeur;  
      $result_Ko = 1/bcpow(2, 10)  * $valeur;
   $result_Mo = 1/bcpow(2, 20) * $valeur;
      $result_Go = 1/bcpow(2, 30) * $valeur;
   break;
    case 2:
      $result_o   = bcpow(2, 10) * $valeur;
      $result_Ko = $valeur;
   $result_Mo = 1/bcpow(2, 10) * $valeur;
      $result_Go = 1/bcpow(2, 20) * $valeur;
      break;
    case 3:
      $result_o   = bcpow(2, 20) * $valeur;
      $result_Ko = bcpow(2, 10) * $valeur;
   $result_Mo = $valeur;
      $result_Go = 1/bcpow(2, 10) * $valeur;
      break;
case 4:
      $result_o   = bcpow(2, 30) * $valeur;
      $result_Ko =  bcpow(2, 20) * $valeur;
   $result_Mo =  bcpow(2, 10) * $valeur;
      $result_Go = $valeur;
      break;
       default: ;
        break;
}

  header('Content-type: application/json');
  ?>
  {
      "valeur_o": "<?php echo $result_o;?>",
      "valeur_ko": "<?php echo $result_Ko;?>",
   "valeur_Mo": "<?php echo $result_Mo;?>",
   "valeur_Go": "<?php echo $result_Go;?>"
  }
  <?php
exit(0);

 

publié le 17/09/2013 par Memo Web
Commentaire :
Marche pas ton truc :(
par inconnu, le 06/11/2013
Commenter le Mémo :

Rediriger un nom de domaine Gandi vers un hébergement 1&1
Convertir des Dollars / Euros en Bitcoins avec Javascript / Ajax
Tutoriel pour afficher et localiser une adresse sur Google Map
Les erreurs du .htaccess
Etapes pour Installer Sencha Touch
Personnaliser la page d'erreur 404
Imposer une taille max aux fichiers uploadés sur le serveur
Uncaught TypeError: Cannot read property 'msie' of undefined
Bug quand répertoire .android est dans un sous répertoire avec caractère accentué
Configurer l'encodage UTF-8 d'une base de données et des fichiers d'un site Internet
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos