Enigmes

Forum dédié aux énigmes et à toutes formes de jeux de logique.

Déconnexion

Tu n'es pas identifié sur Prise2tete : s'identifier.

accueil Accueil forum Forum
[+]

Écrire une réponse

Attention : Aucun indice ou demande d'aide concernant les énigmes de Prise2Tete n'est accepté sur le forum ! Rends-toi sur le cercle des sages si tu as besoin d'aide !
Tout nouveau message ou sujet ne respectant pas cette règle sera supprimé, merci.
Rédige ton message
| | | | Upload | Aide
:) :| :( :D :o ;) :/ :P :lol: :mad: :rolleyes: :cool:
Options
Sécurité

Répondez à la devinette suivante : 

Le père de toto a trois fils : Tim, Tam et ?

Retour

Résumé de la discussion

chevi123
26-08-2008 23:04:40

je me demande comment vous pouvez comprendre ce genre de trucs franchement moi je vois rien de NORMAL

Arcounette
20-08-2008 10:09:49

Je suppose qu'il est un peu tard pour répondre mais c'est comme une énigme pour moi donc : tes parenthèses placées comme dans l'avant-dernier post ferment "précocément" ton instruction donc ça ne marche pas, tu dois les indiquer comme "caractères" et les "échapper" pour que ton langage les reconnaissent comme telles et non comme élément du code.

EfCeBa
30-07-2008 17:00:09

Bon, si personne ne voit de problème, je mets cette nouvelle version en ligne, et si il y a encore des surcharges, je ne sais plus quoi faire...

RSS v2 :
http://www.prise2tete.fr/upload/EfCeBa-rss-v2.phps

EfCeBa
30-07-2008 14:40:45

Alors il semblerait que le problème vienne des parenthèses hmm

Code:

preg_replace("/\[[^[]*]/", "", $txt);

Là il n'y a plus aucun souci, si quelqu'un peut m'expliquer...

EfCeBa
30-07-2008 14:22:35

OK merci kduke pour tes précisions quand meme.

Je viens de trouver un problème avec la fonction

Code:

preg_replace("/\[([^[])*]/", "", $txt);

Celle ci entraine des erreurs de type : Action annulée sous IE et Connexion interrompue (La connexion avec le serveur a été réinitialisée pendant le chargement de la page.) sous Firefox.

Je vais essayer de trouver une autre expression neutral

kduke
30-07-2008 11:43:16

pfff.. j'avais lu de travers ton code de hier soir, et même la réponse de scarta d'hier soir...désolé pour le bruit inutile sad
il faut que je me réveille, ça va bientôt être l'heure d'aller manger tongue

kduke
30-07-2008 11:37:01

Tu pourrais éviter la boucle while (éventuellement infinie) de cut_str en utilisant la fonction strrpos qui te retourne la position d'un caractère dans une chaine en partant de la fin (r=reverse).
les deux dernières lignes deviennent une seule:
return substr($s, 0, strrpos($s, " "));

Une petite optimisation devrait même être possible en évitant la variable intermédiaire $s (et donc les éventuelles fuites mémoire):
return substr($str, 0, strrpos(substr($str, 0, $length+1), " "));

..mais ça devient beaucoup moins lisible d'un coup :-)

En farfouillant dans la doc PHP, je vois qu'un paramètre supplémentaire offset à strrpos a été ajouté en PHP 5 qui permet de dire où commencer la recherche. Dans ce cas, le substr devient inutile.

EfCeBa
30-07-2008 11:10:27

Je viens d'éditer le premier post, c'est exactement le fichier qui posait problème, c'est le fichier tel qu'il était sur le serveur lors du second blocage.

Il y a un bug évident sur la fonction cut_str qui occasionne une boucle infinie si le message ne contient aucun espace. J'ai testé sur un serveur, une boucle comme celle ci occasionne simplement une erreur 500 sur la page mais pas de surcharge.

EfCeBa
30-07-2008 00:36:36

On a toujours besoin d'un autre regard pour avancer, clairement plus le site grossi plus mes codes deviennent obscurs, et il ne peut faire plus de bien qu'une bonne relecture.
J vais récupérer le fichier exact qui faisait tout planter et je montrerai le nouveau et je remettrai ca en ligne.

En attendant, je vais faire quelques test avec des caractères aléatoires pour voir si tout fonctionne...

scarta
30-07-2008 00:23:31

Autre chose: j'ai retrouvé ce très bon article sur le garbage collector php:
http://hudzilla.org/phpwiki/index.php?t … collection

Et ça donne en plus l'idée de balancer quelques traces memory_get_usage() : si tu as une surcharge, au moins tu sauras où précisement.

Pied de page des forums

P2T basé sur PunBB
Screenshots par Robothumb

© Copyright 2002–2005 Rickard Andersson

Prise2Tete Forum Statistiques Liste des membres Hall of Fame Contact
© Prise2tete - Site d'énigmes et de réflexion.
Un jeu où seules la réflexion, la logique et la déduction permettent de trouver la solution.

Flux RSS de Prise2Tete Forum Jeux & Prise2Tete Test & Prise2Tete Partenariat et Publicité sur Prise2Tete