[RESOLU] créer une image php et la nommer avec une variable

Petit nouveau ! | 8 Messages

20 mai 2015, 13:09

bonjour

je retourne vers vous pour un peu d'aide :D

j'ai fait un programme qui via un formulaire écrit dans une image (depuis mon forum phpbb3)
ca va chercher le nom et diverses informations pour l'écrire dans une image, cela fonctionne parfaitement.

je cherche à faire écrire l'image dans un dossier et la télécharger, or je n'arrive pas à donner le nom d'une variable
à l'image, uniquement un nom fixe ca fonctionne. une idée ? merci par avance

voilà ce que j'écris : (dans le fichier signature.php qui écrit l'image)

je récupère du formulaire précédent : $nom = $post ['select']
...
code divers pour l'image
....
imagejpeg($destination,toto.jpg,75)
imagedestroy($destination)

dans cet exemple, j'ai bien dans mon dossier toto.jpg avec toutes mes données dessus.
Or j'ai plusieurs membres, si je veux avoir une image avec leur nom, je n'arrive pas à la faire écrire.
mauvais exemple :
imagejpeg($destination,$nom.jpg,75)
imagejpeg($destination,'$nom.jpg',75)
imagejpeg($destination,"$nom.jpg",75)

Mammouth du PHP | 688 Messages

20 mai 2015, 13:23

echo "$nom.jpg";
imagejpeg($destination,"$nom.jpg",75)

qu'est-ce que cela affiche ?

Petit nouveau ! | 8 Messages

20 mai 2015, 13:33

Echo je peux pas ça n'affichera pas l'image
Et
Imagejpeg($destination,"$nom.jpg",75)
ça me crée une image qui s'appelle : $nom.jpg et donc ça reconnaît pas la variable $nom ^^

Avatar du membre
Mammouth du PHP | 1609 Messages

20 mai 2015, 16:05

Salut, à pirori c'est plutôt $_POST pour récupérer un champ de formulaire.
Sinon tu peux tester $nom.'.jpg' mais "$nom.jpg" devrait fonctionner.
En revanche '$nom.jpg' nommera effectivement l'image $nom.jpg les variables étant interprétées dans une chaine uniquement quand la chaine est encapsulée par des guillemets.
Développeur web depuis + de 20 ans

Petit nouveau ! | 8 Messages

20 mai 2015, 17:02

Merci beaucoup Saian ! cela fonctionne parfaitement ! l'encapsulage php est un véritable art à maitriser !