Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
712 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  RESOLU : PHP afficher un gif animé qui s'anime

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

RESOLU : PHP afficher un gif animé qui s'anime

n°1518913
chico008
what the wookie says ?
Posté le 23-02-2007 à 14:31:57  profilanswer
 

Bonjour a tous
 
voila, je me suis crée une petite page en php pour afficher mes signatures de manière aleatoire sur un forum.
cad a chaque rafraichissement de page,la signature affiché change.
 
pour les jpeg ca marche impec, par contre pour les gif animé, il m'affiche bien le gif, mais il n'est plus animé.
je l'affiche avec un createimagefromgif
 
si vous avez une solutions ca m'aiderait.
 
merci


Message édité par chico008 le 24-02-2007 à 13:35:40
mood
Publicité
Posté le 23-02-2007 à 14:31:57  profilanswer
 

n°1518972
rufo
Pas me confondre avec Lycos!
Posté le 23-02-2007 à 15:47:13  profilanswer
 

et pourquoi t'utilises pas tout simplement une balise <img /> pour afficher un gif ou un jpg?  :heink:

n°1519002
zapan666
Tout est relatif
Posté le 23-02-2007 à 16:08:42  profilanswer
 

rufo a écrit :

et pourquoi t'utilises pas tout simplement une balise <img /> pour afficher un gif ou un jpg?  :heink:


Pour faire des GIFs animés aléatoire.
 
Il semble que via GD, ça ne soit pas trop possible, par contre, sur certain forum, ils disent qu'a partir de plusieurs images, tu peux les compilers en un GIF animé via imagemagick qui est aussi une extension pour PHP


---------------
my flick r - Just Tab it !
n°1519018
rufo
Pas me confondre avec Lycos!
Posté le 23-02-2007 à 16:18:50  profilanswer
 

et c'est pas possible d'avoir un répertoire contenant un nombre fini de gif animés déjà tout fait et ensuite, ton script php en sélectionne un au hasard et le fait afficher dazns une balise img? Quel est le besoin de générer à la volée un gif animé?

n°1519094
jukieng
Posté le 23-02-2007 à 18:36:42  profilanswer
 

rufo a écrit :

et c'est pas possible d'avoir un répertoire contenant un nombre fini de gif animés déjà tout fait et ensuite, ton script php en sélectionne un au hasard et le fait afficher dazns une balise img? Quel est le besoin de générer à la volée un gif animé?


 
Vu qu'il l'utilise sur un forum, il ne peux pas modifier de manière dynamique le contenu de la balise <img />
Donc sa seule solution est d'appeler une image dynamique...


---------------
ilonet - Internet, Informatique et Webmastering
n°1519103
chico008
what the wookie says ?
Posté le 23-02-2007 à 19:12:10  profilanswer
 

pis le GD imagemagic je croit pas qu'il soit installer sur le serveur php ou j'heberge tout ca (a moin que ce soit une lib de base ?!)

n°1519106
zecrazytux
Posté le 23-02-2007 à 19:17:55  profilanswer
 

non, c'est à rajouter ^^


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1519130
chico008
what the wookie says ?
Posté le 23-02-2007 à 19:55:11  profilanswer
 

donc c'est mort pour cette solution.
 
une autre ? :p

Message cité 1 fois
Message édité par chico008 le 23-02-2007 à 19:55:32
n°1519148
jukieng
Posté le 23-02-2007 à 20:22:43  profilanswer
 

chico008 a écrit :

donc c'est mort pour cette solution.
 
une autre ? :p


 
Sans rajouter aucun module sur le serveur, je crains que ça soit impossible :(


---------------
ilonet - Internet, Informatique et Webmastering
n°1519150
chico008
what the wookie says ?
Posté le 23-02-2007 à 20:27:23  profilanswer
 

:'(

mood
Publicité
Posté le 23-02-2007 à 20:27:23  profilanswer
 

n°1519167
sielfried
Posté le 23-02-2007 à 20:56:13  profilanswer
 

Pourquoi pas un truc du genre :
 

Code :
  1. $images = array('image1.gif', 'image2.jpg', 'image3.gif');
  2.  
  3. $rand_image = $images[rand(0, count($images) - 1)];
  4. $extension = substr(strrchr($rand_image, "." ), 1);
  5.  
  6. switch ($extension) {
  7.  case 'gif': header('Content-Type: image/gif'); break;
  8.  case 'jpg': header('Content-Type: image/jpeg'); break;
  9. }
  10.  
  11. readfile($rand_image);


 
?

Message cité 1 fois
Message édité par sielfried le 23-02-2007 à 20:56:43

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1519195
chico008
what the wookie says ?
Posté le 23-02-2007 à 21:56:38  profilanswer
 

j'avait deja essayer avec le content, ca marchait pas non plus.

n°1519208
sielfried
Posté le 23-02-2007 à 22:17:36  profilanswer
 

Ben normalement ça marche très bien, y a pas de raison. :spamafote:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1519209
kadreg
profil: Utilisateur
Posté le 23-02-2007 à 22:22:54  profilanswer
 

ouais, ça marche très bien :o

n°1519216
chico008
what the wookie says ?
Posté le 23-02-2007 à 22:43:35  profilanswer
 

je re essaierais, mais il me semble que ca n'avait aps marcher,  
j'avait eut comme dit plus haut, il s'affiche, mais s'anime pas.

n°1519217
gatsu35
Blablaté par Harko
Posté le 23-02-2007 à 23:02:24  profilanswer
 

tu n'as pas fait de readfile() :o :o :o mais un createImage...gif() :o :o :o :o

n°1519293
chico008
what the wookie says ?
Posté le 24-02-2007 à 10:10:03  profilanswer
 

petit retour
 
j'ai donc essayer avec un readfile
ca marche pas
voici mon erreur

Citation :


L'image “http://xxx.free.fr/test/randsign.php” ne peut être affichée car elle contient des erreurs.


par contre il prend bien le header apparement, en titre de page j'ai randsign.php (Image GIF)


Message édité par chico008 le 24-02-2007 à 10:10:13
n°1519294
sielfried
Posté le 24-02-2007 à 10:12:55  profilanswer
 

Cette erreur provient de GD, je crois... t'as pas du tout besoin de GD pour faire ce que j'ai écrit plus haut.  [:pingouino]  
 
Fais voir ton php.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1519296
chico008
what the wookie says ?
Posté le 24-02-2007 à 10:21:59  profilanswer
 

Code :
  1. <?php
  2. $nbr_img = 10;
  3. mt_srand((double)microtime()*1000000);
  4. $num_img = mt_rand(1,$nbr_img);
  5. if ($num_img ==4)
  6. {
  7. $rand_img = imagecreatefromgif("sign".$num_img.".gif" );
  8. }
  9. else
  10. {
  11. $rand_img = imagecreatefromjpeg("sign".$num_img.".jpg" );
  12. }
  13. $rand_imgx = imagesx($rand_img);
  14. $rand_imgy = imagesy($rand_img);
  15. if ($num_img==4)
  16. {
  17. header ("content-type: image/gif" );
  18. readfile($rand_img);
  19. }
  20. else
  21. {
  22. header ("Content-type: image/jpeg" );
  23. imagejpeg($rand_img);
  24. }
  25. ?>

n°1519298
sielfried
Posté le 24-02-2007 à 10:32:23  profilanswer
 

Bon ben voilà, tu fais des imagecreate tout ça, y a pas besoin... :spamafote:
 
(Le mt_srand est inutile si ton PHP est >= 4.2.0.)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1519306
jukieng
Posté le 24-02-2007 à 10:58:35  profilanswer
 

sielfried a écrit :

Pourquoi pas un truc du genre :
 
[...]
 
?


 
En effet, il n'y a pas besoin d'utiliser GD ici...
On cherchait à faire compliqué pour un problème simple :o


---------------
ilonet - Internet, Informatique et Webmastering
n°1519337
chico008
what the wookie says ?
Posté le 24-02-2007 à 12:43:44  profilanswer
 

donc je fait le readfile sans le createimage ?
ca marche aussi pour les jpeg ?

n°1519341
jukieng
Posté le 24-02-2007 à 12:51:53  profilanswer
 

En reprenant ton code :
 

Code :
  1. <?php
  2. $nbr_img = 10;
  3. $num_img = mt_rand(1, $nbr_img);
  4. if ($num_img==4)
  5. {
  6.   header ("content-type: image/gif" );
  7.   readfile('sign'.$num_img.'.gif');
  8. }
  9. else
  10. {
  11. header ("Content-type: image/jpeg" );
  12. readfile('sign'.$num_img.'.jpeg');
  13. }
  14. ?>


---------------
ilonet - Internet, Informatique et Webmastering
n°1519351
chico008
what the wookie says ?
Posté le 24-02-2007 à 13:29:39  profilanswer
 

gnééé, maintenant, ca marche impec pour le gif, mais des que ca tombe sur un jpeg j'ai ca a la place de l'image :
http://xxx.free.fr/test/randsign.php
 
edit: finalement j'ai mixer les 2 et ca a l'air de marcher impec
voici le code final

Code :
  1. <?php
  2. $nbr_img = 10;
  3. $num_img = mt_rand(1,$nbr_img);
  4. if ($num_img ==4)
  5. {
  6.   header ("Content-type: image/gif" );
  7.   readfile("sign".$num_img.".gif" );
  8. }
  9. else
  10. {
  11.   header ("Content-type: image/jpeg" );
  12.   $rand_img = imagecreatefromjpeg("sign".$num_img.".jpg" );
  13.   imagejpeg($rand_img);
  14. }
  15. ?>


 
Merci pour votre aide.

Message cité 1 fois
Message édité par chico008 le 24-02-2007 à 13:35:25
n°1519360
gatsu35
Blablaté par Harko
Posté le 24-02-2007 à 13:51:09  profilanswer
 

Tain mais t'es con ou quoi ?
C'est simlpe pourtant :

Code :
  1. <?php
  2.     $nbr_img = 10;
  3.     $num_img = mt_rand(1,$nbr_img);
  4.    
  5.     if ($num_img ==4)
  6.     {
  7.      header ("Content-type: image/gif" );
  8.      readfile("sign".$num_img.".gif" );
  9.     }
  10.     else
  11.     {
  12.      header ("Content-type: image/jpeg" );
  13.      readfile("sign".$num_img.".jpg" );
  14.     }
 

Je vois vraiment pourquoi tu passes par GD, alors que le but ICI est de simplement lire le fichier c'est tout [:mlc]

 

edit : Hé merde j'avais pas vu ce qu'avait mis jukieng

 

chico008, la prog c'est pas du bricolage


Message édité par gatsu35 le 24-02-2007 à 13:52:58
n°1519369
jukieng
Posté le 24-02-2007 à 14:06:45  profilanswer
 

chico008 a écrit :

gnééé, maintenant, ca marche impec pour le gif, mais des que ca tombe sur un jpeg j'ai ca a la place de l'image :
http://xxx.free.fr/test/randsign.php


 
C'est parce que dans mon code, l'extension de mes images jpeg est *.jpeg.
Or chez toi, visiblement, c'est *.jpg
 
Donc il suffit de changer cette ligne :

Code :
  1. readfile('sign'.$num_img.'.jpeg');


 
Par :

Code :
  1. readfile('sign'.$num_img.'.jpg');


 
et ça marchera ;)


---------------
ilonet - Internet, Informatique et Webmastering
n°1519370
jukieng
Posté le 24-02-2007 à 14:08:43  profilanswer
 

D'ailleurs, au lieu de ta condition "if ($num_img ==4)", tu pourrais récupérer automatiquement la liste des images présentes dans ton répertoire, et tout gérer automatiquement en fonction de l'extension du fichier :)

 

C'est légèrement plus lent, mais c'est plus pratique pour rajouter de nouvelles signatures :o


Message édité par jukieng le 24-02-2007 à 14:09:11

---------------
ilonet - Internet, Informatique et Webmastering
n°1519374
chico008
what the wookie says ?
Posté le 24-02-2007 à 14:14:18  profilanswer
 

Gatsu, calmos
et a la base je suis pas dev, donc je fait de la prog comme je peut.
 
et jukieng, j'avait bien changer l'extension rassure toi, mais pour une raison inconnue ca marchait pas  
 
edit : ah si, je suis bete, j'avait oublier d'enlever le E,  bon, pas grave, maintenant ca marche, c'est le principale.

n°1519629
rufo
Pas me confondre avec Lycos!
Posté le 25-02-2007 à 14:55:03  profilanswer
 

rufo a écrit :

et c'est pas possible d'avoir un répertoire contenant un nombre fini de gif animés déjà tout fait et ensuite, ton script php en sélectionne un au hasard et le fait afficher dazns une balise img? Quel est le besoin de générer à la volée un gif animé?


 
T'as finalement fait ce que j'avais proposé : un random sur un nb fini d'images déjà existantes puis affichage :o  

n°1519777
red factio​n
Posté le 26-02-2007 à 01:29:53  profilanswer
 

Code :
  1. if ($num_img ==73254)
  2. {
  3. $rand_img = imagecreatefromjpeg("goastecx.jpg" );
  4. }


[:dawa]

n°1520039
kadreg
profil: Utilisateur
Posté le 26-02-2007 à 12:48:16  profilanswer
 

elle s'appelle hello.jpg :o

n°1533821
sakura87
Posté le 26-03-2007 à 16:15:10  profilanswer
 

bon, j'arrive un peu tard, mais il existe une solution encore plus simple:
 
dans ta signature, tu met:
<img src="http:adresse_de_ton_site/signature.php" />
 
et dans signature.php, tu mets
 
<?php
$adresse[] = 'adresse1.jpg';
$adresse[] = 'adresse2.gif';
$adresse[] = 'adresse3.png';
$adresse[] = 'adresse4.truc';
...
...
...
header ('location:'.$adresse[mt_rand[$adresse]]);
?>
 
et c'est ok :D
 
de cette façon, tu n'as même pas besoin de regarder le type de fichier, et ça allège considérablement ton serveur
 
c'est dans l'idée de ne pas différencier le fond de la forme que j'ai trouvé cette solution. ;)
 
bon, ensuite, les application sont multiples, mais je te laisse les découvrir :D.
 
bon, voila, j'espère ne pas avoir été trop ennuyeuse.
amicalement
Sakura

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  RESOLU : PHP afficher un gif animé qui s'anime

 

Sujets relatifs
[PHP] [Résolu] Construire une variable avec une autre variable ?Aide pour batch de renommage
VBA - Gif animé dans un Userfom [Résolu][resolu] VB macro de comparaison de lignes
[HTML] Peut-on afficher une image dans une liste de choix ?[RESOLU]PHP et MySQL problème avec des boucles!!
[Résolu] Soucis avec une requête SQL dans une page PHP 
Plus de sujets relatifs à : RESOLU : PHP afficher un gif animé qui s'anime


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR