[PHP] Prob image FPDF

Statut
N'est pas ouverte pour d'autres réponses.

[Clad]

Manipulateur de bits
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:
 

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);
 
1er
OP
[Clad]

[Clad]

Manipulateur de bits
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!
 

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.
 
1er
OP
[Clad]

[Clad]

Manipulateur de bits
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:
 

Tifox

ou pas
Mais de rien ;)
 

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.
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut