Function: imagecreatefromjpeg() en PHP

Bonjour à tous,
Actuellement, je suis entrain de créer une galerie photos avec des miniatures.
Mais j'ai un message d'erreur.

Fatal error: Call to undefined function: imagecreatefromjpeg()

Et ne sais pas comment y remédier ainsi je demande votre aide.
Merci d'avance.

12 réponses

  1. Donc ce cas c'est normal, la fonction ImageCreateFromJPEG() copie une image existante en mémoire pour travailler dessus. Il faut utiliser la fonction imagejpeg() pour créer une image.
    Mais il y a encore quelques étapes entre, je t'invites à rechercher des exemples sur internet. Et si tu rencontre d'autres problèmes n'hésites pas ;)
    1. La fonction imagecreatefromjpeg() fait partie de la bibliothèque php GD. Cette bibliothèque est souvent désactivée par défaut, si c'est en local on peut l'activé, pour wamp : clic sur l'icône wamp > PHP > PHP extensions > php_gd2
      1. j'ai maintenant d'autres messages d'erreur

        Warning: imagecreatefromjpeg(./Images/Cindy Amelia/min_S5030775.JPG): failed to open stream: No such file or directory in d:\transfert\album.php on line 89

        Warning: imagesx(): supplied argument is not a valid Image resource in d:\transfert\album.php on line 90

        Warning: imagesy(): supplied argument is not a valid Image resource in d:\transfert\album.php on line 91
        S5030775.JPG

        comment résoudre ces erreurs?
        merci de votre aide
        1. N'oublie pas les guillemets :
          imagecreatefromjpeg("./Images/Cindy Amelia/min_S5030775.JPG");
          1. en fait, voici comment j'ai d'abord déclaré le nom qu'aura la miniature

            $MinImageName = "min_$ImageName";
            ensuite ..
            $ImagetteAbsolutePath = "./Images/".$Nom_Rubrique."/".$MinImageName;
            1. Alors c'est que l'image que tu entre en paramètre à la fonction imagecreatefromjpeg() n'existe pas.
              1. voici mon code,
                les images sont stockées dans un répertoire et ensuite renommées

                <?php
                $pagetitre = "Albums Photos";
                include ('Modeles/entete.php');

                require_once('./Securite/flus_connect.php');

                $requete = "select Id_Rubrique, Nom_Rubrique from t_rubrique order by Nom_Rubrique desc ";
                $resultat = mysql_query($requete);

                // Menu déroulant

                echo "<form action ='album.php' method ='post' enctype ='multipart/form-data' >
                <fieldset>
                <legend>Sélectionner une rubrique : </legend>

                <label>Votre choix : </label>
                <select name ='rubrique'>\n";
                while ($ligne = mysql_fetch_array ($resultat))
                {
                extract ($ligne);
                if ($Nom_Rubrique<>"")

                echo "<option value = '$Id_Rubrique'>$Nom_Rubrique</option>\n";
                }
                echo "</select>\n";

                echo "<input type ='submit' value ='Affichez la rubrique' />";
                echo "</fieldset>
                </form>";
                //

                // La description
                $query = "SELECT Desc_Rubrique AS RubDesc
                FROM t_rubrique
                WHERE Id_Rubrique=\"{$_POST['rubrique']}\"";
                $result = mysql_query($query) or die("ERROR");
                $RubDesc = mysql_result($result,0,"RubDesc");

                // Le nombre d'images
                $query = "SELECT count(Id_Image) AS ImgCount
                FROM t_images
                WHERE Num_Rubrique=\"{$_POST['rubrique']}\"";
                $result = mysql_query($query) or die("ERROR");
                $ImgCount = mysql_result($result,0,"ImgCount");
                echo "<br/><br/>$RubDesc<br/><br/>$ImgCount image(s)<br/><br/>";

                echo "-------------------------------------------------------------------------------<br/>";
                // Commence la table dans laquelle sont affichées les imagettes
                echo "<table border='1' width='100%'><tr>";
                // Récupère la liste des images de la rubrique sélectionnée
                $query = "SELECT Id_Image, Nom_Image, Legende_Image, Taille_Image
                FROM t_images
                WHERE Num_Rubrique=\"{$_POST['rubrique']}\"
                ORDER BY Nom_Image";
                $result = mysql_query($query);

                // On veut afficher 4 images par ligne
                $NbrImgParLigne = 4;
                $NumImgLigne = 0;

                // Traite les images une après les autres
                while ($row = mysql_fetch_array($result))
                {
                // Passe l'affichage des images à la ligne si 4 images affichées
                if ($NumImgLigne>=$NbrImgParLigne)
                {
                echo "</tr><tr>";
                $NumImgLigne = 0;
                }

                $NumImgLigne++;

                // Commence une colonne de la grille pour y inclure l'image
                echo "<td align='center'>";

                // Récupère l'ID et le nom de l'image, en déduit le nom de la miniature
                $ImageID = $row['Id_Image'];
                $ImageName = $row['Nom_Image'];
                $MinImageName = "min_$ImageName";

                // Chemin absolu de l'imagette
                $ImagetteAbsolutePath = "./Images/".$Nom_Rubrique."/".$MinImageName;

                // Récupère les dimentions de l'imagette
                $JPEGRes = ImageCreateFromJPEG("$ImagetteAbsolutePath");
                $xsrc = imagesx($JPEGRes);
                $ysrc = imagesy($JPEGRes);

                // Affiche le nom de l'image et sa miniature
                echo "$ImageName<br/><img src='$ImagetteAbsolutePath'
                width='$xsrc' height='$ysrc' border='0' alt='$ImageName'>";

                // Termine la colonne de la grille pour cette image
                echo "</td>";
                }

                echo "</tr></table>";
                include('Modeles/pied_page.php');
                ?>
                1. Mais est-ce que l'image ./Images/Cindy Amelia/min_S5030775.JPG existe ? Ou le but c'est de la créer ?