Page 1 sur 1

afficher une image selon l'ip

Posté : 14 déc. 2011, 23:18
par spooky33
salut à tous,

je cherche a afficher une image pour tous les visiteurs d'une page SAUF si l'ip est égale à une valeur, dans ce cas là l'image devra être une autre image

j'obtiens une erreur mais je ne trouve pas la solution:
<?php
header("Content-type: image/gif");
$ip = getenv ('REMOTE_ADDR');

if ($ip == "XX.XXX.XXX.XXX") {
	$result = "image1.gif";
}
else {
	$result = "image2.gif";
}
$image = imagecreatefromgif($result);
?>

merci pour vos lumières ;)

Re: afficher une image selon l'ip

Posté : 15 déc. 2011, 09:15
par xTG
j'obtiens une erreur
Si tu viens demander de l'aide il serait bon de nous l'indiquer aussi. ;)

Ton erreur vient surement du fait que tu ne transmet rien.
Tu récupères une ressource qu'il faut ensuite afficher.
Regardes l'exemple dans la doc de imagecreatefromgif().

Re: afficher une image selon l'ip

Posté : 15 déc. 2011, 11:52
par Mazarini
Pour transmettre l'image, une solution est la fonction readfile()

Sauf raison particulière, il serait mieux de mettre directement la bonne image dans la balise img directement.

Re: afficher une image selon l'ip

Posté : 15 déc. 2011, 20:32
par spooky33
merci à tous, j'étais fatigué et je voyais même pas que l'image n'était pas appelée

pour info voici le code final:
<?php
$ip = getenv ('REMOTE_ADDR');


header("Content-type: image/gif");


if ($ip == "XX.XXX.XXX.XXX") {
	$result = "image1.gif";
}
else {
	$result = "image2.gif";
}
$image = imagecreatefromgif($result);

imagegif($image);

?>

Re: afficher une image selon l'ip

Posté : 15 déc. 2011, 20:35
par xTG
Libérer la ressource serait bien aussi si tu ne veux pas charger la mémoire du serveur indéfiniment. ;)

Re: afficher une image selon l'ip

Posté : 15 déc. 2011, 20:45
par spooky33
quel code rajoutes tu pour ca?

Re: afficher une image selon l'ip

Posté : 15 déc. 2011, 22:40
par xTG
imagedestroy() est fait pour libérer la mémoire.
Je vois que tu n'as pas suivi mon conseil et consulté l'exemple de la documentation.
Ou bien tu as la mauvaise habitude de lire en diagonale les documentations. ^^

Re: afficher une image selon l'ip

Posté : 15 déc. 2011, 23:11
par spooky33
bah en fait j'ai trouvé mon erreur en rentrant cet après midi....donc je ne me suis pas plongé dans la doc du tout :P

Re: afficher une image selon l'ip

Posté : 16 déc. 2011, 14:26
par ploupy
pourquoi tu te fais pas une table sql avec les images qui correspondent à chaque IP..... ?

Re: afficher une image selon l'ip

Posté : 16 déc. 2011, 14:29
par xTG
pourquoi tu te fais pas une table sql avec les images qui correspondent à chaque IP..... ?
Une table pour renseigner une seule IP ? :mrgreen:

Re: afficher une image selon l'ip

Posté : 16 déc. 2011, 14:37
par ploupy
A oui j'avais mal compris la demande !
je pensais qu'il y avait plusieurs IP.


moi je ferai ça deja pour tester la base :

<?php
$ip = getenv ('REMOTE_ADDR');
$ipAchercher = "XX.XXX.XXX.XXX";
echo '$ipAchercher;      
if ($ip == "XX.XXX.XXX.XXX") {
        $result = "image1.gif";
echo '"image1";
}
else {
 echo '"image2";
}

echo '$ipAchercher; -----> pour vérifier que la variable correspond bien à l'IP voulu
echo '"image1"; -------------> pour vérifier les condition
echo '"image2";

et si ca viens pas de la comme ca tu sais que ca viens de :

imagegif($image);

Re: afficher une image selon l'ip

Posté : 16 déc. 2011, 17:49
par spooky33
merci mais le problème est réglé
j'ai donné le script qui fonctionne ;)