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

  FORUM HardWare.fr
  Programmation
  PHP

  [resolu] getword

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu] getword

n°1303115
Maybe3
Posté le 10-02-2006 à 16:53:19  profilanswer
 

Salut, je bloque sur une fonction que j'aimerais creer :
Cette fonction doit me renvoyer 1 si elle trouve le mot ($contents), et 0 sinon.
 

Code :
  1. function getword( $handle, $contents )
  2. {
  3. $i = strlen($contents) ;
  4.    while( !feof( $handle ))
  5.    {
  6.      $no = 0 ;
  7.  $total = "" ;
  8.      $z = 0 ;
  9.          while(!feof($handle) || $no!=1 )
  10.   {
  11.    $tmp = fgetc($handle) ;
  12.    if($contents[$z]==$tmp)
  13.    {
  14.     if($z==($i-1))
  15.     {
  16.      $total = ''.$total.''.$tmp.'';
  17.      if(strcmp($total,$contents)==0)
  18.       return 1 ;
  19.     }
  20.     else
  21.     {
  22.      $total = ''.$total.''.$tmp.'';
  23.      $z++ ;
  24.     }
  25.    }
  26.    else
  27.     $no=1;
  28.   }
  29.    }
  30.    return 0 ;
  31. }


 
Le probleme est qu'elle me renvois 1 tout le temps  :??:  
Ou ai-je pu merder ?


Message édité par Maybe3 le 10-02-2006 à 17:50:47
mood
Publicité
Posté le 10-02-2006 à 16:53:19  profilanswer
 

n°1303135
afbilou
pouet your life
Posté le 10-02-2006 à 17:15:16  profilanswer
 

Tu veux verifier si un fichier texte contient un mot bien particulier ?

n°1303142
Maybe3
Posté le 10-02-2006 à 17:18:48  profilanswer
 

Oui, enfin pas forcément un fichier texte, elle doit aussi verifier ça sur des url donc pas de fseek possible.
fopen ouvert en "rb", j'ai essyé de debuguer avec des echo et tout a l'air correct, le fichier s'ouvre bien, ma variable $total se rempli au moment ou je parcours le fichier (j'ai esseyé d'afficher les mots d'avant et d'apres, c'est correct).
Ce qui est bizare c'est que quand le mot n'existe pas il le trouve quand meme, je sais pas trop comment débuguer ça, j'ai testé plein de truc mais je ne comprends pas pourquoi  :sweat: .


Message édité par Maybe3 le 10-02-2006 à 17:25:09
n°1303174
Maybe3
Posté le 10-02-2006 à 17:49:54  profilanswer
 

YES !
C'est bon en fait j'ai passé les initialisations de total et z dans le else{no=1} et ça fonctionne impecable :)
En fait ca me parais logique maintenant mais j'ai du loucher en debuguant mentalement, je retournais au while d'avant ou une connerie du style :D

n°1303176
cinocks
Posté le 10-02-2006 à 17:52:32  profilanswer
 

file_get_contents :  stocke dans une variable.
 
et strpos pour determiner s'il y a moins une occurence dans dans la chaine


---------------
MZP est de retour
n°1303181
Maybe3
Posté le 10-02-2006 à 17:57:42  profilanswer
 

Ouais j'ai entendu parler de ces fonctions mais je débute en php et ces fonctions utilisent des parametres que je ne connais pas encore et qui me font tres peur lol.
Donc comme je viens du C, j'essai de rester proche :D

n°1303186
afbilou
pouet your life
Posté le 10-02-2006 à 18:03:23  profilanswer
 

Paramètres qui font peur ? o_O
 
$text = file_get_contents('monfichier.ext');
strpos($text , 'mot_a_chercher');
 
fpas déconner ...

n°1303194
Maybe3
Posté le 10-02-2006 à 18:12:39  profilanswer
 

Citation :

string  file_get_contents ( string   filename  , int   use_include_path  , resource   context  )
 
file_get_contents est identique à la fonction readfile , hormis le fait que file_get_contents retourne le fichier filename dans une chaîne.
Note
 
Cette fonction a été introduite en PHP 4.3.0.
Note
 
Cette fonction gère les chaînes binaires
Array
Note
 
Le support de l'argument context sera ajouté en PHP 5.0.


 

Citation :

$text = file_get_contents('monfichier.ext');


 
C'est sur, si je l'aurais vu comme ça j'aurais peut etre esseyer mais le prototype la haut parle de resource et de array, je preferais ne pas trop me lancer dans l'inconnu mais la ca m'interesse, je regarderais ca quand j'aurais 5 minutes, merci  ;)

n°1303197
afbilou
pouet your life
Posté le 10-02-2006 à 18:19:19  profilanswer
 

Y a une belle phrase tout en francais qui explique chaque parametre.

Citation :


string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )
 
file_get_contents() retourne le fichier filename dans une chaîne, à partir de la position offset, et jusqu'à maxlen octets.
Le paramètre context peut être éludé par la valeur NULL.
Vous pouvez utiliser l'option use_include_path : en la mettant à "1", vous rechercherez aussi dans le dossier include_path.
En cas d'erreur, file_get_contents() retourne FALSE.


Message édité par afbilou le 10-02-2006 à 18:20:39
n°1303207
Maybe3
Posté le 10-02-2006 à 18:38:52  profilanswer
 

Pas mal Pas mal, interessant...
En tout cas le PHP est bien pratique pour traiter les url, pasqu'avec les socket j'en chiais un max !
La seule chose qui est dommage c'est qu'il n'y pas de fseek virtuel. Mais je vais me creer la fonction s'il faut.

mood
Publicité
Posté le 10-02-2006 à 18:38:52  profilanswer
 

n°1303216
Maybe3
Posté le 10-02-2006 à 18:55:20  profilanswer
 

Ah, aussi y'a un truc que j'ai pas bien compris pour strpos par exemple il faut le tester avec ===
C'est la premiere fois que je vois cet opérateur et je n'ai pas encore trouvé de tutoriel portant la dessus.
Si quelqu'un a un site qui compare le php au c en expliquant bien les differences, jes uis preneur :)

n°1303218
cinocks
Posté le 10-02-2006 à 19:01:50  profilanswer
 

Maybe3 a écrit :

Ouais j'ai entendu parler de ces fonctions mais je débute en php et ces fonctions utilisent des parametres que je ne connais pas encore et qui me font tres peur lol.
Donc comme je viens du C, j'essai de rester proche :D


 
 
Y'a de l'abus, il faut 2 pauvres parametres  [:payzan]


---------------
MZP est de retour
n°1303219
cinocks
Posté le 10-02-2006 à 19:03:36  profilanswer
 

Maybe3 a écrit :

Ah, aussi y'a un truc que j'ai pas bien compris pour strpos par exemple il faut le tester avec ===
C'est la premiere fois que je vois cet opérateur et je n'ai pas encore trouvé de tutoriel portant la dessus.
Si quelqu'un a un site qui compare le php au c en expliquant bien les differences, jes uis preneur :)


 
Tu ne dois pas beaucoup chercher. == test sur la valeur et converti les typages si necessaire. Donc tu peux comparer des choux et des carottes. === compare le type et le contenu.


---------------
MZP est de retour
n°1303220
ritzle
Posté le 10-02-2006 à 19:04:13  profilanswer
 

Maybe3 a écrit :

Ah, aussi y'a un truc que j'ai pas bien compris pour strpos par exemple il faut le tester avec ===
C'est la premiere fois que je vois cet opérateur et je n'ai pas encore trouvé de tutoriel portant la dessus.


Ca compare les deux expressions et ca renvoie true si elle sont exactement identiques. C'est parce que le PHP n'est pas très typé.
 
Par exemple 1=='1' renvoie true alors que 1==='1' renvoie false

n°1303270
Maybe3
Posté le 10-02-2006 à 20:54:21  profilanswer
 

Ah ok !!
En effet, c'est cool de ne pas avoir a definir le type et c'est encore mieux de pouvoir le tester au cas ou :)


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

  [resolu] getword

 

Sujets relatifs
[VBScript] [RESOLU] erreur lors de la suppression de fichier[Résolu] CSS ne fonctionnant pas sour Firefox
[RESOLU] Décalage mise en page sous IE avec readfile().!i! RESOLU !i! fonction exec() attente fin du prog
[Sql] Besoin d'aide pour une requête ( simple pourtant ... ) [résolu][Résolu]Obtenir le code source.
[Résolu]Variance de taille de page entre FF et IEExcel 2002 - longueur à l'ouverture d'un fichier (résolu)
[ANT Resolu] cactus Ant Task[resolu]Debutant en php - derniere connection
Plus de sujets relatifs à : [resolu] getword


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