0

MySQL データベースからハッシュをエコーする php ファイルがあります。これは私が使用しているリモート プログラムに必要ですが、同時に他の PHP スクリプトを開いて、指定された文字列の POST 解析をチェックする必要があります。文字列の事前解析をチェックする場合、検索する文字列ではなく、MySQL クエリを取得するだけです。

関数がこれを行うかどうかはわかりません。fopen() は解析前にファイルを読み取りますか? または file_get_contents()?

もしそうなら、php と mysql のコードが実行された後にファイルを読み取る関数はありますか?

違いがある場合、ハッシュクエリとエコーを含むファイルは、それを読み取るphpファイルと同じディレクトリにあります。

おそらく fopen は解析後にそれを読み取り、私は何か間違ったことをしましたが、最初はハッシュをファイルに直接保存していましたが、うまく機能していました。MySQLテーブルの内容をエコーするように変更した後、バグが発生しました。

MySQL クエリ スクリプト:

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

以前、このスクリプトからハッシュを取得するために使用していたのは、ハッシュのリストだけだったときです。

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

1 に答える 1

1

最も簡単な方法は、次の行に沿って、すべてをエコーする最初の php ファイルを変更することです。

  • のすべてのインスタンスechoを egに変更します$data[] =
  • 一番下で、実行しますforeach($data as $d) echo $d(これにより、現在と同じ結果が得られます)
  • $dataこれで、ループして好きなことを何でもできる配列が残っています。

実際のコード例を提供するために、ファイルの現在のコードを投稿していただければ幸いです。

編集

スクリプトを次のように変更した場合:

$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;
}

...キー内の各ハッシュを含む配列 $data が得られます。次に、この配列を次のようにループできます。

foreach($data as $d) {
  //do something
}
于 2010-04-21T05:53:07.677 に答える