IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonctionnalité de mon site


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut Fonctionnalité de mon site
    Bonjour à tous et à toutes.

    Il y a deux ans, j'ai créé un petit site. Très dépassé maintenant et à cause de différents soucis techniques j'ai décidé de la refaire en gardant le même principe, c'est à dire que l'utilisateur choisi un modèle de carte, rentre son message, sa couleur et clique sur un bouton valider pour créer une carte perso.

    Maintenant j'ai réussi à créer les cartes perso avec un ptit script en php qui enregistre la carte, à la racine du site, au format jpg, et qui l'affiche dans une nouvelle fenêtre du navigateur web.

    VOICI MON SOUCIS :
    Je ne peux pas sauvegarder toutes les cartes sur le site. J'aurais voulu savoir comment faire pour qu'une fois la fenêtre (avec la carte) fermée, la carte se supprime automatiquement. Je n'ai sais pas si on peux faire ceci en melant javascript (détection de fermeture) et php. Faut-il utiliser des sessions ?
    Je ne demande pas que l'on me sorte du code mais juste des conseil dans lesquels m'orienter.

    Je vous remercie d'avance pour votre aide.

    Yannick

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    il faudrait voir precisemment comment tu crées l'image mais elle n'a surement pas besoin d'exister en tant que fichier sur ton serveur : tu peux juste envoyer les données de l'image vers le navigateur.

    Pour reprendre un exemple de la doc utilisant GD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    // Création d'une image vide et ajout d'un texte
    $im = imagecreatetruecolor(120, 20);
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
     
    // Définit le contenu de l'en-tête - dans ce cas, image/jpeg
    header('Content-type: image/jpeg');
     
    // Affichage de l'image
    imagejpeg($im);
    ?>
    comme tu vois les données de l'image sont stockées dans des variables.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Oui c'est vrai que je n'y avais pas pensais. Je vais donc fouillé un petit dans la librairie php pour voir ça de plus prêt.

    Donc je pourrais tout simplement afficher la variable (qui serait en fait une image jpeg) sans etre sauvegardé sur le serveur mais temporairement dans le navigateur ? Et l'utilisateur pourra t-il enregistrer son image en faisant un clic droit puis "enregister l'image sous" ?

    Voici le code que j'avais utilisé pour générer l'image.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $nomtemp="cartaweb".rand(1,15).".jpg";
    	$nomfichier=$nomtemp;  // nom de l'image de sortie.
    	$qualite=100; 		   // 0 à 100.
    	$fontpath="polices\\";	// chemin de la police.
    	//$gif = ImageCreate(150,110);  // pour ceux qui veulent créer l'image, dans ce cas là enlever le commentaire de cette ligne et mettre en commentaire les 4 lignes de code suivantes.
    	//on va chercher l'image principale  de test
    	$Image = "carte".$numcarte.".jpg"; //son nom.
    	$Source = "cartes\\"; //l'emplacement de votre image.
    	$jpg=imagecreatefromjpeg($Source.$Image); 
    	$size = getimagesize($Source.$Image); // $size[0] = largeur, $size[1] = hauteur.
    	$tx = ImageColorAllocate($jpg,$coul1,$coul2,$coul3); //l'image et les couleurs RVB.
    	//ImageFilledRectangle($jpg,0,0,$size[0],$size[1],$bg); //au cas où vous voulez remplir l'image d'une couleur unie.
     
    	ImageTTFText ($jpg, $taille, 0, 200, 40, $tx, $fontpath.$nompolice ,$texte); //array  imagettftext ( resource   image , int   size , int   angle , int   x , int   y , int   color , string   fontfile , string   text )
    	//header("content-type: image/jpeg"); //si cette ligne vous pose pb mlettez là en commentaire
    	 ImageJPEG($jpg,$nomfichier,$qualite); //fichier de sortie       
    }

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu vois, tu mets NULL à la place du nom de fichier dans ImageJPEG() et tu ajoutes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-type: image/jpeg');
    Tu appelles ensuite cette page directement avec un lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="fichier.php">mon image</a>
    ou en tant qu'image dans une page html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="fichier.php" />
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup pour ton aide. Grâce à toi c'est déjà plus clair. Le seul soucis c'est que tu me demande faire appel au fichier php.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="fichier.php" />
    Mais moi, c'était mon fichier php (traitement.php), appelé via le submit en xhtml, qui créé la carte et qui l'affichait direct comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ("<img src='".$nomtemp."' alt='cartecrée'/>");

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le code que tu m'as montré doit être tout seul dans un fichier .php avec en plus le header().

    Et c'est lui que tu appelles comme si c'etait une vraie image.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    D'accord je vais essayer de voir ça.
    Je reviendrais si je rencontre un soucis.

    Merci encore pour ton aide.

  8. #8
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Excuses moi encore de te poser une question.
    Je viens d'essayer comme tu m'a dit, le seul soucis c'est que lorsque j'enregistre l'image ainsi créé avec le fichier "traitement.php", il m'enregistre pas une image mais un fichier nommé "traitement.php.jpg".

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Essai en ajoutant cet en tête en plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Disposition: inline; filename="image.jpg"');
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Ca marche. Merci beaucoup. L'image s'enregistre bien en jpeg. Bon j'y retourne !
    Encore mille merci Sabotage.

    Vive developpez.net

    Acsm14

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. La banniere publicitaire ralentis mon site que faire ?
    Par jexl dans le forum Publicité
    Réponses: 4
    Dernier message: 30/05/2005, 12h00
  2. [FLASH MX] Probleme sur mon site....!!
    Par thewill dans le forum Flash
    Réponses: 2
    Dernier message: 07/04/2005, 12h11
  3. [VB.NET] Proteger mon site par mot de passe
    Par stephane93fr dans le forum ASP.NET
    Réponses: 8
    Dernier message: 19/01/2004, 08h53
  4. Débutant : architecture de mon site flash.
    Par Jazzy Troll dans le forum Flash
    Réponses: 3
    Dernier message: 12/01/2004, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo