我有一个php文件来回显来自MySQL数据库的哈希值。这是我正在使用的远程程序所必需的,但同时我需要打开其他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);
答案 0 :(得分: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
}