2010-04-21 19 views
0

J'ai un fichier php renvoyant des hachages à partir d'une base de données MySQL. Ceci est nécessaire pour un programme distant que j'utilise, mais en même temps j'ai besoin de mon autre script php en l'ouvrant et en le vérifiant pour l'analyse syntaxique des chaînes spécifiées. S'il vérifie la pré-analyse de la chaîne, il obtiendra simplement la requête MySQL plutôt que les chaînes à rechercher.Existe-t-il une fonction qui peut lire une fonction php post-analyse?

Je ne suis pas sûr si des fonctions le font. Est-ce que fopen() lit le fichier avant l'analyse? ou file_get_contents()?

Si oui, y at-il une fonction qui va lire le fichier après l'exécution du code PHP et mysql?

Le fichier avec la requête de hachage et l'écho se trouve dans le même répertoire que le fichier php qui le lit, si cela fait une différence.

Peut-être fopen le lit-il après l'analyse, et j'ai fait quelque chose de mal, mais au début je stockais les hachages directement dans le fichier, et cela fonctionnait correctement. Après je l'ai changé pour faire écho le contenu de la table MySQL, il a buggé.

Le script de requête MySQL:

$query="SELECT * FROM list"; 
$result=mysql_query($query); 
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){ 
echo $row['hash']."<br>"; 
} 

Ce que j'utilisais pour obtenir le hachage de ce script avant, quand il était juste une liste de hash:

  $myFile = "hashes.php"; 
      $fh = fopen($myFile, 'r'); 
      $theData = fread($fh, filesize($myFile)); 
      fclose($fh); 
      $mystring = $theData; 
      $findme = $hash; 
      $pos = strpos($mystring, $findme); 

Répondre

1

La meilleure chose à faire serait de modifier votre premier fichier php qui fait écho à tout, le long de ces lignes:

  • changer chaque instance de echo à e.g. $data[] =
  • au fond, ne foreach($data as $d) echo $d (cela produira le même résultat que vous avez en ce moment)
  • vous avez maintenant encore votre tableau $data que vous pouvez en boucle à travers et faire tout ce que vous aimez avec elle.

Pour fournir des exemples de code de travail, il serait bon que vous puissiez publier le code actuel de votre fichier.

EDIT

Si vous changez votre script comme ceci:

$query="SELECT * FROM list"; 
$result=mysql_query($query); 
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){ 
$data[] = $row['hash']."<br />"; 
} 
foreach($data as $d) { 
    echo $d; 
} 

... vous aurez le tableau de données de $ qui contient chaque hachage dans une clé. Vous pouvez ensuite parcourir ce tableau comme suit:

foreach($data as $d) { 
    //do something 
} 
+0

Mis à jour avec le code actuel. – Rob

+0

Avez-vous essayé de réutiliser la variable '$ result' dans votre autre script? Vous pourriez faire la même chose while() boucle là. Vous n'avez besoin de rien comme fopen() pour cela. Cela dit, je ne suis pas sûr du type d'analyse que vous voulez conserver dans le nouveau script - tout ce que vous faites maintenant est de faire écho à chaque ligne avec une étiquette '
' (que vous pouvez changer en '
'pour rester conforme à XHTML, d'ailleurs). Est-ce l'analyse que vous voulez dire? – bobsoap

+0

Mis à jour ma réponse ci-dessus, j'espère que c'est ce que vous cherchiez. – bobsoap