2014-09-02 2 views
-1

У меня есть сценарий, который должен извлекать данные из разных кешированных URL-адресов.Несколько вариантов декодирования кэшированных url

Прямо сейчас $ url = 'http://example.com/search.php?user=abc&part='. $ Part;

мне нужна часть сценария ниже модифицирован для поиска по нескольким MD5 зашифрован URL,

т.е.
$ URL = «http://example.com/search.php?user=abc&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; 
    } 

ответ

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; 
      } 
     } 
    }