用于解码缓存网址的多个选项

时间:2014-09-02 13:33:49

标签: php caching md5

我有一个需要从不同的缓存网址中提取数据的脚本。

现在$ url =' http://example.com/search.php?user=abc&part='。$ part;

我需要修改以下脚本部分以搜索多个MD5加密网址

即。
$ url =' http://example.com/search.php?user=abc&part='。$ part;
$ url =' http://example.com/search.php?user=xyz&part='。$ part;
$ url =' http://example.com/search.php?user=123&part='。$ part;

如果返回的值超过1,则返回具有最新日期的值。

$ xid必须是$ url的当前设置

原始代码。

    function get_cache_file($url) {
        $xid = md5($url);

        $gendir = CACHE_ROOT . substr($xid, 0, 1) . '/'. substr($xid, 1, 2);

        if(!is_dir($gendir)) {
            mkdir($gendir, 0777, true);
            }

        return $gendir . '/' . $xid;
    }

1 个答案:

答案 0 :(得分:0)

找到问题的答案。

function get_cache_file($part)
{
    $users = array('user1', 'user2', 'user3');

    $file = '';
    $time = 0;

    foreach ($users as $user) {
        $url = 'http://example.com/search.php?user=' . $user . '&part=' . $part;
        $xid = md5($url);

        $gendir = CACHE_ROOT . substr($xid, 0, 1) . '/' . substr($xid, 1, 2);

        if (is_dir($gendir) && is_file($gendir . '/' . $xid)) {
            if ($time < filemtime($file)) {
                $time = filemtime($file);
                $file = $gendir . '/' . $xid;
            }
        }
    }