Mon code PHP est ignoré

Résolu
Voilà le code php :

<!DOCTYPE html>
<html>
 <head>
  <title>Samus</title>
  <meta charset="UTF-8"><!--encodage du texte pour que les caract?s sp?aux soient lus-->
 </head>
 <body>
  <div>
   <img src="img/samus.png" height="550" alt="samus"/>
  </div>
  
  <div>
      <?php
          echo "ça fonctionne :)";
          
       $monImage=imagecreatefrompng('img/samus.png');
       $tableauInfoImage=getimagesize('img/samus.png');
       
          echo "ça fonctionne pas :(";
    
    echo "La largeur de l'image est de : " . $tableauInfoImage[0] . "px<br/>";
    echo "La hauteur de l'image est de : " . $tableauInfoImage[1] . "px<br/>";
    
    $largeur = $tableauInfoImage[0];
    $hauteur = $tableauInfoImage[1];
    
    echo "\$largeur = " . $largeur . "px<br/>";
    echo "\$hauteur = " . $hauteur . "px<br/>";
    
    $nouvelleImage = imagecreatetruecolor($largeur,$hauteur);
    $blanc = imagecolorallocate($nouvelleImage,255,255,255);
    $noir = imagecolorallocate($nouvelleImage,0,0,0);
    
    for ($l = 0; $l < $largeur; $l++){
     for ($h = 0; $h < $hauteur; $h++){
      $indexPixel = imagecolorat('img/samus.png',$l,$h);
      $couleurPixel = imagecolorsforindex('img/samus.png',$indexPixel);
      echo $l;
      echo $h;
      if($couleurPixel["red"] == 0 && $couleurPixel["green"] == 0 && $couleurPixel["blue"] == 0){
       imagesetpixel($nouvelleImage,$l,$h,$blanc);
      }
      else {
       imagesetpixel($nouvelleImage,$l,$h,$noir);
      }
     }
    }
    imagepng($nouvelleImage,"img/samus_blanc.png");
    imagedestroy($nouvelleImage);
   ?>
  </div>
  <p><img width='300' src="img/samus_blanc.png" alt="samus_blanc"></p>
 </body>
</html>


Et voilà le code source que reçoit le navigateur

<!DOCTYPE html>
<html>
 <head>
  <title>Samus</title>
  <meta charset="UTF-8"><!--encodage du texte pour que les caract?s sp?aux soient lus-->
 </head>
 <body>
  <div>
   <img src="img/samus.png" height="550" alt="samus"/>
  </div>
  
  <div>
      ça fonctionne :)


A près le "ça fonctionne" tout est ignoré. Je ne comprend pas d'où vient le problème. Aidez-moi !

3 réponses

  1. Bonjour

    Il est très probable que ton image n'est pas trouvée, ou que la bibliothèque GD n'est pas installée.
    Ajoute
    error_reporting(E_ALL);
    au début de ton script, entre le
    <?php
    et le
     echo
    . Tu auras sûrement un message d'erreur qui t'en dira plus long.
    1
    1. Après ajout de cette ligne il ne se passe rien. La ligne est ignoré mais le echo fonctionne quand même.
      0
  2. Modérateur
    Cela révèle souvent une erreur, regardes dans le fichier error.log pour en savoir plus.
    0
    1. où est ce fichier ?
      0
  3. Je suis très, très étonné que tu n'aies aucun message d'erreur.

    Dans un premier temps, écris une bêtise (n'importe quoi) après le
    error_reporting(E_ALL);
    pour t'assurer qu'il y a bien une erreur qui s'affiche.

    Ensuite, enlève l'erreur et essaye le code modifié suivant :
      error_reporting(E_ALL);
           $monImage=imagecreatefrompng('img/samus.png');
      if ($monImage===false) die ("erreur imagecreatefrompng");
           $tableauInfoImage=getimagesize('img/samus.png');
      if ($tableauInfoImage===false) die ("erreur getimagesize");
    0
    1. J'ai fait des recherches et j'ai remarqué que GD n'etait pas installé. Après installation mon code n'est plus ignoré, je dois juste avoir un problème dans mon algorithme car l'image n'a pas inversé ses couleurs à la fin mais elle est juste blanche.

      J'ai quand même ajouté ton code pour voir ce qui ce passait et rien est apparu.

      Merci pour ton aide :)
      0
    2. @OxydiasDe rien, mais cette absence de message d'erreur reste très mystérieuse.
      0