01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
<?php /*---------------------------------------------------------------*/ /* Titre : Affiche une ligne d'un fichier de manière aléatoire URL : https://phpsources.net/code_s.php?id=242 Auteur : Olivier Date édition : 22 Fév 2007 Date mise à jour : 29 Aout 2019 Rapport de la maj: - fonctionnement du code vérifié */ /*---------------------------------------------------------------*/ // prend le nombre de ligne du fichier $fichier_ligne = file ( "fichier.txt" ); $i = count ( $fichier_ligne ); // initialise et prend un nombre aléatoire entre 0 et $i: srand ((double) microtime ()* 1000000 ); $id = rand ( 0 , $i ); // affiche la ligne echo $fichier_ligne [ $id ]; ?>
Fonctions du code - Doc officielle PHP
php.net
Description
Versions PHP
OUTIL
count Compte le nombre d'éléments d'un tableau ou le nombre de propriétés d'un objet
PHP 4, PHP 5, PHP 7, PHP 8
echo Affiche une chaîne de caractères
PHP 4, PHP 5, PHP 7, PHP 8
file Lit le fichier et renvoie le résultat dans un tableau
PHP 4, PHP 5, PHP 7, PHP 8
microtime Retourne le timestamp UNIX actuel avec les microsecondes
PHP 4, PHP 5, PHP 7, PHP 8
rand Génère une valeur aléatoire
PHP 4, PHP 5, PHP 7, PHP 8
srand Initialise le générateur de nombres aléatoires
PHP 4, PHP 5, PHP 7, PHP 8
Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir
Invité
13 Nov 2016 à 14:40oui idem pour moi
Invité
07 Fév 2009 à 03:32Il genere toujours des lignes blanche
Invité
08 Déc 2007 à 10:54Rand $id = rand(0,$i); comprend un nombre entre 0 et la première ligne vide (en comptant celle-ci), il faut donc écrire :
$id = rand(0,$i-1);
afin de ne pas générer une ligne blanche aléatoirement…
Ekannott
19 Juil 2007 à 22:56mt_rand et bien plus rapide que rand