【问题标题】:Is there a function that can read a php function post-parsing?有没有可以在解析后读取php函数的函数?
【发布时间】:2010-04-21 05:43:42
【问题描述】:

我有一个从 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);

【问题讨论】:

    标签: php fopen file-get-contents


    【解决方案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
    }
    

    【讨论】:

    • 您是否尝试过在其他脚本中重新使用变量$result?您可以在那里执行相同的 while() 循环。你根本不需要像 fopen() 这样的东西。就是说,我不确定您要在新脚本中保留哪种解析方式-您现在所做的只是用&lt;br&gt; 标签回显每一行(您可以将其更改为@987654329 @ 保持 XHTML 兼容,顺便说一下)。这就是你的意思吗?
    • 更新了我上面的回复,希望这是你一直在寻找的。​​span>
    • 基本上服务器端脚本需要检查hash是否存在。
    • 这没有任何意义......对不起。什么服务器端脚本?它们都是服务器端的。而您当前的与哈希字段相呼应。哈希字段包含什么?
    • 好吧对不起,让我试着解释一下这个脚本的作用。我有一个程序连接到从数据库中回显哈希的脚本,以验证用户是否已为该程序付费。如果他的哈希没有回显,则程序退出。但是它也会进行另一次检查,每次使用该程序时,它是在服务器本地而不是由程序检查,因此程序查询 PHP 脚本,并且该 php 脚本需要能够查询另一个 PHP 脚本来验证哈希在那里。我希望能够通过程序最初查询的文件来完成
    猜你喜欢
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多