一个简单的设置缓存的方法:
/** * 简易的设置缓存 * @param 缓存目录 $sPath * @param http请求的url $sUrl * @param 缓存时间 $sTime * @param 是否开启缓存 $openCache * @return array */ function setCache($sPath,$sUrl,$sTime,$openCache='1',$sDateType='array') { $nowtime = time(); if (file_exists ( $sPath ) && ($nowtime - filemtime($sPath) < $sTime) && $openCache) { $aData = include ( $sPath ) ; } else { if($sDateType == 'json'){ $aData = json_decode ( curl_httpget ( $sUrl ) ,true); }else{ //默认array $aData = unserialize ( curl_httpget ( $sUrl ) ); } if(!empty($aData)) { $sDate = '<?php' . "\n" . 'return ' . var_export( $aData, true ) . ';' . "\n" . '?>'; file_put_contents ( $sPath, $sDate ); }else{ if(file_exists($sPath)) { $aData = include ( $sPath ) ; } //error_log('请求数据为空:'.$sUrl."\r\n", 3, INDEX_CACHE_PATH.'urlerr.log'); } } return $aData; }
分类:PHP
标签: