监控内容更改,页面长度不一致

时间:2015-07-01 13:23:36

标签: php

我正在尝试监控页面的内容(以查看它是否随时间而变化)。 为此,我整理了一个小脚本,将页面内容的长度与之前存储的文本进行比较。

脚本如下;

     <?
        function get_url_contents($url){
                $crl = curl_init();
                $timeout = 0;
                curl_setopt ($crl, CURLOPT_URL,$url);
                curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
                $ret = curl_exec($crl);
                curl_close($crl);
                return $ret;
        }
        $url = "X.php"; //The url to test against
        $ret = get_url_contents($url); //$ret contains the result

        $file = file_get_contents('../Y.txt'); //The text file where the ENTIRE content is saved
        if(strlen($file) == strlen($ret)) { //Compares string length
            echo "content is same";
        }
        else {
        echo "content not same";
        $fp = fopen('../Y.txt', 'w');
        fwrite($fp, $ret);
        fclose($fp);
        }
    ?>

然后我尝试将小表中的字符串长度与%更改进行比较。

            <table border="1">
              <tr>
                <th scope="col">Guideline Master Page</th>
                <th scope="col">In File #</th>
                <th scope="col">% Change</th>
                <th scope="col">Current #</th>
              </tr>
              <tr>
                <td><? echo $url; ?></td>
                <td><? echo strlen($file); ?></td>
                <td><? echo round((((strlen($ret) - strlen($file)) / strlen($file)) * 100),2); ?></td>
                <td><? echo strlen($ret); ?></td>
              </tr>
            </table>

当我在页面“X.php”中实际进行更改时,刷新时表格会告诉我更改的字符数量。

然而,当我根本不改变“X.php”或“Y.txt”时,结果会不断变化,例如:

(刷新#) - (Page X.php的当前strlen) - (Y.txt的strlen)

  1. 32885 - 32885
  2. 32885 - 32894
  3. 32894 - 32894
  4. 32855 - 32894
  5. 32894 - 32885
  6. 32885 - 32894
  7. 有人能告诉我这些变化源自何处?据我所知,正在测试的页面不包含任何更改元素。

0 个答案:

没有答案