Script php trop lent le navigateur

Résolu
Bonjour,

function calc($ip){
    $cdir = 0;
    $octets = explode(".",$ip);
    foreach($octets as $oct){
        $bin = decbin($oct);        
          for($i=0;i<strlen($bin);$i++){
            echo 'ok';
            if($bin[$i]==1){
                $cdir++;
            }
         }

    }

echo $cdir;

}

calc('178.20.150.0');

en php j'ai le message : Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/script.php on line 63

J'ai fait une fonction pareil en javascript, elle fait carrement planté le navigateur.

Que dois je faire?

Merci

4 réponses

  1. Ce n'etait pas le probleme , j'ai juste modifie 2eme ,la boucle et sa marche maintenant, c'est bizarre. voici le code
    function calc($ip){
    $cdir = 0;
    $octets = explode(".",$ip);
    foreach($octets as $oct){
       $bin = dec2bin($oct);
       echo $bin.'<br/>';
       for($i=strlen($bin);$i!=0;$i--){
           if($bin[$i]==1){$cdir++;  }
       }
    }
    echo $cdir;
    }
    
    calc('178.20.150.0');
    
    1. manque un $ a i je le met en gras

      function calc($ip){
      $cdir = 0;
      $octets = explode(".",$ip);
      foreach($octets as $oct){
      $bin = decbin($oct);
      for($i=0;i<strlen($bin);$i++){
      echo 'ok';
      if($bin[$i]==1){
      $cdir++;
      }
      }

      }

      echo $cdir;

      }

      calc('178.20.150.0');
      1. Bonjour
        oui,l adresse ip est bien découpée en octets, le problème c est dans la boucle for.
        1. Bonjour

          tu as essayé dans ta fonction de faire un echo $octets[0] ;
          pour voir si ton adresse ip arrive bien jusqu'à a ta fonction