Utilisation du header pour fair 1 image (php)

Résolu/Fermé
bubuche87 Messages postés 41 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 26 janvier 2009 - 14 mars 2007 à 16:20
bubuche87 Messages postés 41 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 26 janvier 2009 - 17 mars 2007 à 22:16
bonjours tout le monde.
Je suis nouveau ici, et j'ai toujours plein de question bizarre, sui demeurent la plupart du temps sans réponse. Ces question ne sont pas des questions "en l'air" ou juste pour savoir, mais s'inscrivent belle et bien dans le cadre d'un dévellopement (de logiciels en fait :D).

alors pour la première question (qui n'est pas plus bizarre que les autres): peut on faire une image avec un header?
Je ne veux absolument pas dire: peut on rediriger une page vers une image avec un header, ça je sais que 'est possible de le faire, mais peut-oon génére une image avec un header, si on a le contenu "text" de l'image?
Je sais que dans ce cas on peut faire un fopen, fputs, fclose, puis une redirection vers l'image ainsi créée, mais cette méthode présente deux défauts:
1) on ne peut pas effacer l'image ensuite (pour "nettoyer la place").
2)elle prend du temps

merci beaucoup pour vos réponses.

P.S: je suis sur le point de me faire virer d'un autre forum, parce que mes questions sont trops bizarres. Est-ce que l'on peut poser des questions qui sortent de l'ordinaire ici?

Re merci :D
A voir également:

6 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
14 mars 2007 à 16:26
Oui, c'est possible !
Je t'enjoins à aller regarder du côté de la documentation php :
https://www.php.net/manual/fr/ref.image.php

En utilisant ça, tu peux créer une image comme tu le souhaites, tu peux même stocker une image sous forme binaire dans une base de données et la ressortir en précisant bien dans ton header que le type MIME est image/jpeg par exemple.
0
bubuche87 Messages postés 41 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 26 janvier 2009 11
14 mars 2007 à 16:37
merci beaucoup pour ton aide.
mais je viens de télécharger la version 5 de php (avec easyphp) et dans la doc ils me disent que je dois avoir "php_exif.dl" d'activé, mais je ne trouve même pas la ligne dans le php.ini.

Est-ce que c'est une extension que je dois charger?

Est-ce que tu pourrais me donner un bout de code "statique" (tu génère une image via cette méthode du header, ais bon, pas besoin de tests pour savoir si l'image existe, ou d'autre truc comme ça, une sorte de "hello wolrd" en omme :D)

Merci j'ai déjà une bonne piste pour la suite.

(je ne peux pas utiliser les fonctions gd, car je suis sous un hébergeur gratuit, et il n'accepte pas ce type de commandes (comme pour la fonction mail T_T)

pour l'instant, je suis en train d'esqye de dévelloper un site pour avoir des avatars qui changent des qu'on recharge la page, et ça marche impec avec un simple header, mais je voudrai pouvoir aller plus loin, et il me faut plus de connaissance du header pour ça.

Merci pour ton aide, vraiment.
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
14 mars 2007 à 17:54
Essaie ça :

<?php

header("Content-type: image/png");
$string = "Hello World";
$im = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);

?>

Puis crées une page html qui appelle cette page dans une balise <img src="nomFichier.php" />
0
bubuche87 Messages postés 41 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 26 janvier 2009 11
14 mars 2007 à 19:22
merci pour cette réponse, mais ce n'est pas tout à fait ça que j'attendais ^^

[quote=bubuche87]je ne peux pas utiliser les fonctions gd[/quote]

ce que je voudrais faire ressemblerai un peu à ça:

<?php

$x = header_recup ('image.jpg');
header ($x);

?>

ou alors

<?php

$x = file_get_contents ('image.jpg');
header ('content:'.$x);

?>

bref, un truc qui me permettrai de récuperer le contenu du fichiers image, de le stocker sous forme de code, et de le restituer à la demande (en fait, je dis image, mais cela inclu aussi les autre format).

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
15 mars 2007 à 09:59
Je pensais qu'avec cet exemple tu pourrais t'en sortir :)

Est-ce que ceci te convient ?
<?php

header("Content-type: image/jpeg");
echo file_get_contents($_GET['image']);

?> 

Comme ça, tu n'as pas besoin de faire un fichier par image, juste un fichier php que tu appelles comme ça : fichier.php?image=nom.jpg

Qu'en dis-tu ?

Mais j'avoue que je n'en vois pas l'intérêt...
0
bubuche87 Messages postés 41 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 26 janvier 2009 11
17 mars 2007 à 22:16
ça marche!!!!
merci beaucoup!!!
j'en avais vraiment besoin, de plus en plus en fait.
Bon, je vais te donner une application, et je pense que tu pourras extrapoler: supposons que tu ai une image que tu ne veux que que certaine personnes puisse voir, comment tu fais?

Une solution, c'est de récuperer le contenu de l'image et de le stocker en deux morceau,sur deux bdd, sur deux compte différent (et ausi sur deux serveurs différents en fait ^^). Comme ça, seuls ceux qui ont les deux adresses peuvent la voir, à l'aide d'un petit programme.

Extrapole ça à d'autre format, et tu comprendras très vite :D

Mais ne t'inquiète pas, je ne le fais que pour proteger mes oeuvres ^^


Merci encore


RECAPITULATIF: faire un header pour indiquer le type du fichier, puis un echo du contenu du fichier.

Merci a Reivax962.
0