Partage
  • Partager sur Facebook
  • Partager sur Twitter

Repérer erreurs dans un while

Lors d'un listage de fichiers

Sujet résolu
    3 février 2006 à 22:07:29

    Salut à tous !!

    Voilà, je fais un listage de répertoire pour récupérer chaque fichier de polices ttf dans ma boucle while, tout fonctionne, mon problème est que 2 fichiers parmi ceux-ci me génèrent des erreurs, sans doute une police foireuse.

    Comment faire pour identifier les fichiers responsables des erreurs dans ma boucle ?


    while($fichier = readdir($ouverture))
    {
      $nom_fichier = explode('.', $fichier);
            //echo 'value=" ' . $nom_fichier[0] . '"<br />';

            $larg = 110;
            $haut = 20;

            $img = imagecreate($larg, $haut);
                   
            $fond = imagecolorallocate($img, 255, 255, 255);
            $coulText = imagecolorallocate($img, 0, 0, 0);

            $Tpolice = '9';
            $Fpolice = 'ttf/' . $fichier;
                   
            $texte = strtolower($nom_fichier[0]);
            //$Mtexte = ucfirst($texte);
                                           
            // calcule l'encadrement du texte (array)
            $taille = imagettfbbox($Tpolice, 0, $Fpolice, $texte);
                   
            // marges du texte
            $Mgauche = ($larg - $taille[2]) / 2;    // marge gauche
            $Mhaut = ($haut - $taille[5]) / 2;            // marge haut
                   
            imagettftext($img, $Tpolice, 0, $Mgauche, $Mhaut, $coulText, $Fpolice, $texte);
                                                   
            imagepng($img, 'imagesPolices/' . $texte . '.png');
                   
            imagedestroy($img);     
    }


    Image utilisateur
    • Partager sur Facebook
    • Partager sur Twitter
      3 février 2006 à 22:16:06

      Quels sont les messages d'erreur :p ?
      • Partager sur Facebook
      • Partager sur Twitter
        3 février 2006 à 22:24:59

        Alors le message afficher dans le code source est :

        <b>Warning</b>: imagettfbbox() [<a href='function.imagettfbbox'>function.imagettfbbox</a>]: Could not read font in <b>C:\...\imagePoliceOptions.php</b> on line <b>137</b><br />
        <br />
        <b>Warning</b>: imagettftext() [<a href='function.imagettftext'>function.imagettftext</a>]: Could not read font in <b>C:\...\imagePoliceOptions.php</b> on line <b>143</b><br />


        Et ceci par 2 fois, donc j'en déduis qu'il y a 2 fichiers de polices qui déconnent.
        • Partager sur Facebook
        • Partager sur Twitter
          3 février 2006 à 23:16:38

          Donc tu veux sans doute juste identifier tes fichiers pour les remplacer.

          Alors si tu as une boucle, il te suffit de créer une variable qui contient le numéro du fichier ttf courant.

          // Début de ton script
          // [...]

          // Avant d'utiliser la fonction imagettfbbox
          $numero_fichier_courant = 1;
          echo "Essai d'ouverture du fichier " . $numero_fichier_courant . " :<br />";

          // Ici tu mets ta commande imagettfbbox

          // Après la commande, tu marques :
          echo "Essai d'ouverture du fichier " . $numero_fichier_courant . "fini !<br />";
          // Et tu incrémentes le numéro du fichier courant
          $numero_fichier_courant++;

          // [...]
          // Fin de ton script

          Normalement tu verras les messages d'erreur entourés par les messages avec le numéro du fichier en question.

          @+


          • Partager sur Facebook
          • Partager sur Twitter
            3 février 2006 à 23:48:37

            Ca a fonctionné, j'ai pû virer les fichiers incriminés.

            Merci ^^
            • Partager sur Facebook
            • Partager sur Twitter

            Repérer erreurs dans un while

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown