Aide "Content-type"

Eléphant du PHP | 68 Messages

14 avr. 2012, 21:21

Bonjour,
J'ai un petit script qui génère une image.

Code : Tout sélectionner

// Génération de l'image header('Content-type: image/png'); $img_1 = imagecreatetruecolor($size, $size); $img_2 = imagecreatefrompng($filename); imagecopyresampled($img_1, $img_2, 0, 0, 8, 8, $size, $size, 8, 8); imagepng($img_1);
Tout marche bien mais je veux le mettre dans une page pour qu'il ait pas juste l'image qui soit afficher je croix que c'Est dans le Content-type mais je ne connai pas sa.
Donc savez vous quel Content-type je doit mettre?
Merci beaucoup.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 avr. 2012, 22:26

Ton content type est bon, il faut effectivement que ton script se contente de générer l'image et il te suffit de l'appeler depuis une page html comme si c'était une image :
<img src="chemin/ton_script_qui_renvoi_une_image.php" ... />
Et du coup tu peux mettre tout le code que tu veux autour :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 68 Messages

15 avr. 2012, 00:57

Ton content type est bon, il faut effectivement que ton script se contente de générer l'image et il te suffit de l'appeler depuis une page html comme si c'était une image :
<img src="chemin/ton_script_qui_renvoi_une_image.php" ... />
Et du coup tu peux mettre tout le code que tu veux autour :)
Oui sa va aller mieux ;)

Code : Tout sélectionner

<?php $pseudo = trim(@$_GET['traite']); $size = trim(@$_GET['size']); // image de test... if(empty($pseudo)) { echo '<img src="http://upload.w-creation.ze.cx/upload_20120414204239.png" />'; } if(!empty($_GET['playername'])) { echo '<img src="fichier_image_skin.php?joueur=' . $_GET['traite'] . '" />'; } if(empty($size)) { // Taille du skin par défaut à 64 pixels $size = '64'; } $filename = 'http://s3.amazonaws.com/MinecraftSkins/' . $pseudo . '.png'; // Exécution de la fonction "is404" pour vérifier si le fichier image existe { $filename = 'http://s3.amazonaws.com/MinecraftSkins/' . $pseudo . '.png'; } header('Content-type: image/png'); $img_1 = imagecreatetruecolor($size, $size); $img_2 = imagecreatefrompng($filename); imagecopyresampled($img_1, $img_2, 0, 0, 8, 8, $size, $size, 8, 8); imagepng($img_1); ?>
Merci beaucoup
Ps: Si tu teste tu verra que ...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

15 avr. 2012, 09:44

Nanan... il te faut deux scripts.

En fait, il faut comprendre le fonctionnement : pour afficher une image dans une page, tu utilises la balise html <img>. Avec cette balise, le navigateur va demander au serveur de lui retourner une image. Peu importe que celle-ci soit physiquement sur le serveur (un gif, jpg, png, .. classique), ou qu'elle soit générée de façon dynamique par un script php.

Concrètement, le navigateur s'en moque du moment que lui serveur lui retourne une image :)

Il te faut donc un script (ou une page html) pour appeler et afficher l'image et un script qui lui va devoir générer l'image de façon dynamique.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 68 Messages

15 avr. 2012, 15:46

Nanan... il te faut deux scripts.

En fait, il faut comprendre le fonctionnement : pour afficher une image dans une page, tu utilises la balise html <img>. Avec cette balise, le navigateur va demander au serveur de lui retourner une image. Peu importe que celle-ci soit physiquement sur le serveur (un gif, jpg, png, .. classique), ou qu'elle soit générée de façon dynamique par un script php.

Concrètement, le navigateur s'en moque du moment que lui serveur lui retourne une image :)

Il te faut donc un script (ou une page html) pour appeler et afficher l'image et un script qui lui va devoir générer l'image de façon dynamique.
Bon d'accord je croix avoir une idéé.
Cette page génére deja de facon dynamique:
http://generateur.great-heberg.eu/skin. ... ]monpésudo[/b]&size= mataille &go=Valider


Si j'ai bien compris je fais une page php comme sa?

<?php

$pseudo = trim(@$_GET['traite']);
$size = trim(@$_GET['size']);

avec <img src="http://generateur.great-heberg.eu/skin. ... ite=[b]ici je met une variable?[/b]&size= ici je met une variable? &go=Valider" Votre avatar/>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

15 avr. 2012, 16:46

Exactement :)

<?php

$pseudo = trim(@$_GET['traite']);
$size = trim(@$_GET['size']);

echo '<img src="http://generateur.great-heberg.eu/skin.php?traite=' . $pseudo . '&size=' . $size . '&go=Valider" alt="Votre avatar" />';

?>
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 68 Messages

15 avr. 2012, 16:55

Exactement :)

<?php

$pseudo = trim(@$_GET['traite']);
$size = trim(@$_GET['size']);

echo '<img src="http://generateur.great-heberg.eu/skin.php?traite=' . $pseudo . '&size=' . $size . '&go=Valider" alt="Votre avatar" />';

?>
Ha merci bien!
Je me rapelle jamais de cette technique! Je met sa dans ma tête... :)

Merci encore de ta précieuse aide :D