cachefunctions.php

来自「php源码 php源码参考」· PHP 代码 · 共 96 行

PHP
96
字号
<?phprequire_once('Product.php');require_once('AmazonResultSet.php');// Get an AmazonResultSet either from cache or a live query// If a live query add it to the cachefunction getARS($type, $parameters){  $cache = cached($type, $parameters);  if($cache)  // if found in cache  {    return  $cache;  }  else  {    $ars = new AmazonResultSet;    if($type == 'asin')      $ars->ASINSearch(padASIN($parameters['asin']), $parameters['mode']);    if($type == 'browse')                         $ars->browseNodeSearch($parameters['browsenode'], $parameters['page'], $parameters['mode']);    if($type == 'search')      $ars->keywordSearch($parameters['search'], $parameters['page'], $parameters['mode']);    cache($type, $parameters, $ars);  }  return $ars;}// check if Amazon data is in the cache// if it is, return it// if not, return falsefunction cached($type, $parameters){  if($type == 'browse')    $filename = CACHE.'/browse.'.$parameters['browsenode'].'.'.$parameters['page'].'.'.$parameters['mode'].'.dat';  if($type == 'search')    $filename = CACHE.'/search.'.$parameters['search'].'.'.$parameters['page'].'.'.$parameters['mode'].'.dat';  if($type == 'asin')    $filename = CACHE.'/asin.'.$parameters['asin'].'.'.$parameters['mode'].'.dat';    // is cached data missing or > 1 hour old?  if(!file_exists($filename) ||      ((mktime() - filemtime($filename)) > 60*60))  {    return false;  }  $data = file_get_contents($filename);  return unserialize($data);}// add Amazon data to the cachefunction cache($type, $parameters, $data){  if($type == 'browse')    $filename = CACHE.'/browse.'.$parameters['browsenode'].'.'.$parameters['page'].'.'.$parameters['mode'].'.dat';  if($type == 'search')    $filename = CACHE.'/search.'.$parameters['search'].'.'.$parameters['page'].'.'.$parameters['mode'].'.dat';  if($type == 'asin')    $filename = CACHE.'/asin.'.$parameters['asin'].'.'.$parameters['mode'].'.dat';    $data = serialize($data);    $fp = fopen($filename, 'wb');  if(!$fp||(fwrite($fp, $data)==-1))  {    echo  ('<p>Error, could not store cache file');  }  fclose($fp);}//download a new copy of an Amazon image if we do not// already have a copy, or if our copy is too oldfunction getImage($url){  $imageFile = CACHE.'/'.basename($url);  // is cached image missing or > 24 hours old?  if(!file_exists($imageFile) ||     ((mktime() - filemtime($imageFile)) > 24*60*60))  {    // get image    $image = file_get_contents($url);    if(!$image)      return false;        // store image    $fp = fopen($imageFile, 'wb');    if(!file_put_contents($imageFile, $image))    {      return false;    }    fclose($fp);  }  return $imageFile;}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?