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

  FORUM HardWare.fr
  Programmation
  PHP

  script pour afficher une image aléatoirement !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script pour afficher une image aléatoirement !

n°683035
peemousse
Posté le 24-03-2004 à 17:14:01  profilanswer
 

Bonjour je souhaite faire un script pour afficher une images aléatoirement :
 

Code :
  1. <?php
  2. print getRandomImage('../images/');
  3. function getRandomImage($dir,$type='random')
  4. {
  5. global $errors,$seed;
  6.   if (is_dir($dir)) { 
  7.   $fd = opendir($dir); 
  8.   $images = array();
  9.       while (($part = @readdir($fd)) == true) { 
  10.           if ( eregi("(gif|jpg|png|jpeg)$",$part) ) {
  11.               $images[] = $part;
  12.           }
  13.       }
  14.     // adding this in case you want to return the image array
  15.     if ($type == 'all') return $images;
  16.     if ($seed !== true) {
  17.       mt_srand ((double) microtime() * 1000000);
  18.       $seed = true;
  19.     }
  20.      
  21.       $key = mt_rand (0,sizeof($images)-1);
  22.     return $dir . $images[$key];
  23.   } else {
  24.       $errors[] = $dir.' is not a directory';
  25.       return false;
  26.   }
  27. }
  28. $image = getRandomImage('images/');
  29. echo "<img src='$image' alt='A random image'>";
  30. ?>


 
voici le script dans un fichier script.php3 (par exemple)
 
et ici un fichier ou je veux afficher aléatoirement les images du répertoire :
 

Code :
  1. <html>
  2. <head>
  3. <title>test</title>
  4. </head>
  5. </body>
  6. Affiche moi l'image STP :) <img src = "script.php">
  7. </body>
  8. </html>


 
Mais ca ne fonctionne pas est-ce que qqn a une solution à mon problème ?
 
Merci

mood
Publicité
Posté le 24-03-2004 à 17:14:01  profilanswer
 

n°683043
naceroth
Posté le 24-03-2004 à 17:20:50  profilanswer
 

Ben, simple supposition sans examen poussé du script :
 
Ton premier script fait un echo d'une balise image, pas de l'image elle même :)
 
(et j'ai un petit doute sur l'utilisation de script.php dans le deuxième script, je l'ai jamais essayer comme ça, mais je doute que ça fonctionne)

n°683069
peemousse
Posté le 24-03-2004 à 17:33:25  profilanswer
 

hmmm  
En fait le fichier script.php fonctionne puisque lorsque j'affiche la page script.php l'image s'affiche. Mais je voudrais appeller le script à partir d'une autre page.
 
Sinon comment faire, tout en gardant le même principe c'est a dire un appel vers une fonction qui affiche une image.
 
merci

n°683089
peemousse
Posté le 24-03-2004 à 17:40:05  profilanswer
 

Bon j'ai réessayé en mettant :
 
<?php include ( 'script.php' ); ?>
 
à l'endroit ou je veux afficher l'image et ca fonctionne.
 
Mais ca me gene un peu.... d'avoir du php dans cette page... Est-ce qu'il n'y pas un autre moyen d'afficher mes images ...en utilisant du HTML pur <img src = script.php>
 
merci

n°683092
naceroth
Posté le 24-03-2004 à 17:46:17  profilanswer
 

Sans modifier script.php

Code :
  1. <html>
  2.   <head>
  3.   <title>test</title>
  4.   </head>
  5.   </body>
  6.   Affiche moi l'image STP :) <?php include('script.php'); ?>
  7.   </body>
  8.   </html>


 
Ou encore mieux (avec modif), tu crées une fonction qui retourne l'url de l'image :

Code :
  1. //script.php
  2. <?php
  3. ...
  4. function RandomImage(){
  5. $image = getRandomImage('images/');
  6. return "<img src='$image' alt='A random image'>";
  7. }
  8. ...
  9. ?>


et dans l'autre

Code :
  1. <?php include_once('script.php'); ?>
  2. <html>
  3.   <head>
  4.   <title>test</title>
  5.   </head>
  6.   </body>
  7.   Affiche moi l'image STP :) <?= RandomImage(); ?>
  8.   </body>
  9.   </html>


 
si j'ai pas fais d'erreur en route :D

n°683095
naceroth
Posté le 24-03-2004 à 17:48:59  profilanswer
 

peemousse a écrit :

Bon j'ai réessayé en mettant :
 
<?php include ( 'script.php' ); ?>
 
à l'endroit ou je veux afficher l'image et ca fonctionne.
 
Mais ca me gene un peu.... d'avoir du php dans cette page... Est-ce qu'il n'y pas un autre moyen d'afficher mes images ...en utilisant du HTML pur <img src = script.php>
 
merci


 
Oui, c'est possible, mais là on entre dans le un peu compliqué pour pas grand chose : header et content-type, lecture de fichier et buffer d'affichage...T'es sûr que ça te gêne ? :D

n°683106
peemousse
Posté le 24-03-2004 à 18:05:25  profilanswer
 

Non c'est bon en fait c'est NIKELLLLLLLL  :D
 
Merci beaucoup de ton aide en tout cas :D


Message édité par peemousse le 24-03-2004 à 18:05:42
n°683164
peemousse
Posté le 24-03-2004 à 18:37:18  profilanswer
 

Je reviens à la charge .... :)
Si on va sur le site www.madchat.org , il y a des images qui s'affichent aléatoirement dans le coin gauche. (ne pas hésiter à faire des refresh ou a fermer pour reouvir le navigateur pour voir les changements).
En regardant de plus près le source de la page on voit ceci :
 
<img src=/.logos/logo.php3>
 
Donc lorsque l'on va ici http://www.madchat.org/.logos/  il y a le script et les images que l'on peut affciher....


Message édité par peemousse le 24-03-2004 à 18:37:41
n°683176
naceroth
Posté le 24-03-2004 à 18:48:20  profilanswer
 

Exécute le script logo.php3, tu verras qu'il renvoie une image .gif , ils utilisent la méthode "un peu compliqué" citée plus haut (que perso je trouve plus adéquate pour des images générées dynamiquement, mais bon...)

n°683190
peemousse
Posté le 24-03-2004 à 19:04:25  profilanswer
 

ok chef :)  
 
thx


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

  script pour afficher une image aléatoirement !

 

Sujets relatifs
script d'installation (façon phpBB) ???[Delphi7] Comment inserer une image dans un document MSWord?
Ecrire en oblique dans une imagePlacer image dans le coin
[PHP] afficher la page de l erreur 403Pb de script php guestbook
ouvrir image avec photoshop avec lien hypertext[oracle] Un script pour genérer le script de creation de base
afficher une valeur par defaut dans une liste de selectionPhp + html sur image !
Plus de sujets relatifs à : script pour afficher une image aléatoirement !


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