Impossible de localiser une chaine pourtant existante

Impossible de localiser une chaine pourtant existante - PHP - Programmation

Marsh Posté le 04-12-2003 à 07:54:45    

Voila suite a mon ancien topic sur la reecriture de donnée dans un fichier texte on m'avait conseiller d'utiliser la fonction strpos pour localiser ma variable et ainsi reecrire les données.
 
J'ai donc une fonction basique pour lire le fichier puis rechercher l'occurance
 

Code :
  1. if (!$read=fopen("include/connect.inc.php", "r" ))
  2. echo "can't open the file";
  3. while(!feof($read))
  4. {
  5.  echo $read2=substr(fgets($read, 255), 2, 500);
  6.  if(!strpos($read2, "chakal" ))
  7.   echo "can't locate";
  8.  else
  9.   echo $pos;
  10. }


 
ce qui me retourne
 

DEFINE (SERVER, "xx" ); DEFINE (USER, "xx" ); DEFINE (PASSWORD, "xx" ); DEFINE (DATABASE, "xx" ); //forum configuration $theme="chakal"; $Root="/chak_forum"; $ForumName="ChaKal's forum 1.0"; $Ip=$_SERVER['REMOTE_ADDR']; $PostPerPage="20"; $ThrdPerPage="20"; $Title="Welcome To ChaKal's Forum 1.0 [Work In Progress]"; $PagePerPage="20"; $PageThreadPerPage="20"; ?>can't locate


 
et c'est la que je comprend pas pasque j'ai bien ma chaine chakal juste apres $theme :/
 
savez vous pourquoi il ne trouve rien??

Reply

Marsh Posté le 04-12-2003 à 07:54:45   

Reply

Marsh Posté le 04-12-2003 à 08:59:48    

T'as essayé

Code :
  1. If (strpos($read2, "chakal" )===false)//oui oui, 3=
  2. ...


 
Me semble que cette syntaxe est plus correcte
 
EDIT

Code :
  1. $pos=strpos($read2, "chakal" );
  2. If ($pos===false)
  3.    echo 'can\'t locate';
  4. else
  5.    echo $pos;


Message édité par deliriumtremens le 04-12-2003 à 09:06:40
Reply

Marsh Posté le 04-12-2003 à 10:23:06    

vi je l'ai fait et c'est pareil
 
j'avais vu cette technique sur php.net

Reply

Marsh Posté le 04-12-2003 à 11:21:57    

Y passe conbien de fois dans ta boucle ?
 
Parce-que quand il trouve, tu fait un echo de $pos QUI NE CONTIENT RIEN ! ! !
 

Code :
  1. if( ! $read = fopen( "include/connect.inc.php", "r" ) )
  2. {
  3. die( "can't open the file" );
  4. }
  5. while(!feof($read))
  6. {
  7. echo $read2=substr(fgets($read, 255), 2, 500);
  8. echo "<hr>";
  9. $pos = strpos($read2, "chakal" );
  10. if( $pos === false )
  11.  echo "can't locate";
  12. else
  13.  echo $pos;
  14. echo "<hr>";
  15. }


 
J'ai testé, et çà me donne çà :
 

DEFINE (SERVER, "xx" ); DEFINE (USER, "xx" ); DEFINE (PASSWORD, "xx" ); DEFINE (DATABASE, "xx" ); //forum configuration $theme="chakal"; $Root="/chak_forum"; $ForumName="ChaKal's forum 1.0"; $Ip=$_SERVER['REMOTE_ADDR']; $PostPerPage="20"; $ThrdPerPage="20"
--------------------------------------------------------------------------------
124
--------------------------------------------------------------------------------
$Title="Welcome To ChaKal's Forum 1.0 [Work In Progress]"; $PagePerPage="20"; $PageThreadPerPage="20"; ?>
--------------------------------------------------------------------------------
can't locate
--------------------------------------------------------------------------------


 
:D


Message édité par Mara's dad le 04-12-2003 à 11:27:27

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed