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为例如$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 回答