[PHP] Prob image FPDF

Discussion dans 'Web, design' créé par [Clad], 24 Juillet 2008.

Statut de la discussion:
Fermée.
  1. Offline
    [Clad] Elite
    Bonjour,

    Je dois générer dynamiquement des fichiers PDF, pour cela j'utilise le logiciel FPDF.

    Le problème que j'ai est pour afficher une image dont le nom est contenu das une variable.

    $res['data']['infoStandard']['niveau']

    Par exemple le nom est 228.jpg ou 4324.png

    $this->Image('imgStandards/'.$res['data']['infoStandard']['image'].' ',10,17,273,107);

    Voici le message d'erreur:
    FPDF error: Image file has no extension and no type was specified: imgStandards/

    En gros ca ne fonctionne pas :\

    Pourtant quand je fait:
    echo $res['data']['infoStandard']['niveau']; => ca m'affiche 228.jpg (sans espace, ni devant, ni derrière).

    Et quand je fait:
    $this->Image('./imgStandards/228.jpg', 10,17,273,107); => l'image s'affiche correctement.



    Sinon, j'ai un de mes amis qui a fait ca:
    $pdf->Image('./tmp/img_planning_'.$monProjet->id_projet.'.jpg', $margeGauche, $y , 120 , 80,'JPEG');

    Donc il écrit l'extension .jpg en "dur". Le problème est que moi dans ma base de données je stock le nom et l'extension en même temps.

    Après je ne sais pas si c'est possible dans une chaîne de caractère de dissocier 228.jpg en mettant 228 dans $nom et .jpg dans $extension.

    Enfin voila, je suis à cours d'idée :dead:
    [Clad], 24 Juillet 2008
    #1
  2. Offline
    Tifox ou pas
    Je ne sais pas si c'est la solution, mais pourquoi il y a un espace là ?

    $this->Image('imgStandards/'.$res['data']['infoStandard']['image'].' ',10,17,273,107);



    Et si tu stockes d'abord le nom complet dans une var puis que tu utilise la var, ça marche ?

    $imgPath = 'imgStandards/'.$res['data']['infoStandard']['image'];
    $this->Image($imgPath,10,17,273,107);
    Tifox, 24 Juillet 2008
    #2
  3. Offline
    [Clad] Elite
    Enfaite j'ai mis volontairement un espace pour ne pas que vous croyez que c'est une double côte ". Dans le code il n'y en a pas.

    Je test ta solution dès que possible (ce soir, ou demain matin) et je dirais tout de suite ce qu'il en est.

    Merci beaucoup de votre aide!
    [Clad], 24 Juillet 2008
    #3
  4. Offline
    Tifox ou pas
    Meme sans l'espace, ça ne sert a rien, tu peux déjà virer le .''.

    Ceci dit, c'est probablement pas ça.
    Tifox, 24 Juillet 2008
    #4
  5. Offline
    [Clad] Elite
    o
    m
    g

    svp pas de jets de cailloux, j'ai fait un erreur de noob (ben oui, je suis un noob :p).

    enfaite l'appel de l'image est dans une FONCTION
    Ben moi j'ai oublié que si on passe pas d'argument dans la fonction ben la variable est vide.

    ...

    Bref =>

    $pdf->imagePrincipale($image=$res['data']['infoStandard']['image']);

    function imagePrincipale($image)
    {
    $this->Image('imgStandards/'.$image.' ',1,8,294,108, jpg);
    $this->Cell(294,108,'',1,1,'C');
    }

    Voili voila... Désolé de t'avoir fait perdre un peu de ton temps Tifox, mais merci de ton aide :love:
    [Clad], 24 Juillet 2008
    #5
  6. Offline
    Tifox ou pas
    Mais de rien ;)
    Tifox, 25 Juillet 2008
    #6
  7. Offline
    Dolu Touriste
    Utilise plutôt TCPDF, c'est une classe dérivée de FPDF qui est (très) régulièrement mise à jour.

    Tu n'aura pas grand chose à changer dans ton code, car elle utilise les mêmes méthodes.
    Dolu, 25 Juillet 2008
    #7
Statut de la discussion:
Fermée.