Défaut d'affichage : Pas le temps de charger un fichier avant son affichage

WRInaute discret
Bonjour
Sur une page je charge un dictionnaire (avec file = ...) qui fait 4.5 Mo
Puis je tire un mot au hasard
Et, de temps à autre, il semble que le fichier n'ait pas eu le temps de se charger avant affichage du mot sélectionné et donc n'ai aucune donnée à l'affichage.
Bizarre !
Peut-être qu'avec un truc du genre
Code:
while(fichier non chargé) attente
???
Voir http://www.exemples-php.com/utilitaires-en-ligne/le-mot-le-plus-long/le-mot-le-plus-long.php
Merci de votre aide
 
WRInaute passionné
Pas moyen d'utiliser MySQL ? Ca serait mieux pour le serveur... (les accès disque sont beaucoup plus longs)

Sinon essaie les alternatives comme fopen()
 
WRInaute impliqué
L'idée mysql est la bonne, faire une petit script qui eclate le fichier de 4,5 MO pour le mettre en base une simple table avec deux champs suffit. Un champ contenant le mot un autre champs contenant la taille du mot.
Apres un simple select prendra quasiment rien en ressource ou/et en temps.
 
WRInaute discret
Zut, webrankinfo a planté, je me retape le message.

Merci à tous

Après une sieste portant conseil (!), je m'y suis recollé et ai trouvé la solution.
Changé une boucle while en foreach et SURTOUT utilisé break lorsque la condition était remplie (avant je parcourais les 360 000+ mots du dico.

Je note dans un coin le truc de rajouter la taille de chaque mot dans le fichier, ça me servira ailleurs.

Bonne fin de weekend

PROBLEME RESOLU
 
WRInaute impliqué
chamagne a dit:
utilisé break lorsque la condition était remplie (avant je parcourais les 360 000+ mots du dico.

Ouai mais du coup si tu choisis 7 lettres c'est tjrs le premier mot de 7 lettres qui va ressortir non ?

Dans ce que je t'ai dit une fois en base, tu aurais juste a faire un select * from matable where Long="7";
Et choisir aléatoirement un des resultats dans le tableau de variable que t'a retourné la requete.
 
Discussions similaires
Haut