Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e)

hello !

 

j'utilise ds certains forum un script php (je ne suis pas l'auteur) qui repertorie les images (9 en l'occurence) ds un rep, et en choisi une aleatoirement pour l'afficher.

Seulement voila, ca n'a pas l'air vraiment aléatoire: la n°1 revient tout le temps, tandis que la n°7 presque jamais, les autres revenant à intervalles equivalents...

pourriez vous m'aider ? notament me dire si la fonction aléatoire est correctement utilisée ici....

 

<?php  

#This script has been developped by Nenad Motika [nmotika@bezveze.com]

#Please feel free to use it and to contact me for any reason

 

//read folder

$folder=opendir(".");  

while ($file = readdir($folder))  

$names[count($names)] = $file;  

closedir($folder);

//sort file names in array

sort($names);

//remove any non-images from array

$tempvar=0;

for ($i=0;$names[$i];$i++){

$ext=strtolower(substr($names[$i],-4));

if ($ext==".jpg"||$ext==".gif"||$ext=="jpeg"||$ext==".png"){$names1[$tempvar]=$names[$i];$tempvar++;}

}

//random

srand ((double) microtime() * 10000000);

$rand_keys = array_rand ($names1, 2);

//random image from array

$slika=$names1[$rand_keys[0]];

//image dimensions

$dimensions = GetImageSize($slika);  

if (isset($pic)){header ("Location: $slika");}

else {echo "<img src="$slika" $dimensions[3]>";}

?>

merci :P

Posté(e)

Tiré de l'aide de php.

array_rand

(PHP 4 >= 4.0.0)

 

array_rand --  Prend une ou plusieurs valeurs, au hasard dans un tableau

Description

mixed array_rand ( array input [, int num_req])

array_rand() est pratique lorsque vous voulez sélectionner une ou plusieurs valeurs au hasard dans un tableau. Le paramètre input est un tableau, et num_req spéficie le nombre de valeurs que vous voulez obtenir (par défaut, c'est 1).

 

Si vous ne demandez qu'une entrée, array_rand() retourne l'index de la valeur. Sinon, elle retourne un tableau d'index. Cela vous permet de faire une sélection au hasard de clés, ou bien de valeurs.

 

N'oubliez pas d'appeler srand() pour initialiser le générateur de nombres aléatoires.

 

Exemple 1. Exemple avec array_rand()

 

<?php

 srand ((double) microtime() * 10000000);

 $input = array ("Neo", "Morpheus", "Trinitée", "Cypher", "Tank");

 $rand_keys = array_rand ($input, 2);

 print $input[$rand_keys[0]]."\n";

 print $input[$rand_keys[1]]."\n";

?>

Posté(e)

Essayons autrement ...

 

//random 
mt_srand((float) microtime()*1000000);
//n postes de 0 à n-1
$rand_key = mt_rand ( 0, count($names1)-1);
//random image from array 
$slika=$names1[$rand_key]; 

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...