获取远程数据本地缓存到PHP数组
<?php /* 本地缓存文件名称 */ $tempfile = "sms.php"; $smsdata = array(); $getTime = 3 ; /** * 文件是否需要读取远程 * * @return boolean 获取远程数据文件 */ function getFileReader() { /* 引入全局变量 */ global $tempfile,$smsdata,$getTime; try { if( time() - filemtime($tempfile) < $getTime ) { /* 本地 */ $smsdata = include $tempfile; } else { /* 远程 */ if( getHttpFileGyArray() === false ) $smsdata = include $tempfile; } } catch (FtpException $e) { /* 远程 */ if( getHttpFileGyArray() === false ) $smsdata = array(); } } /** * 获取HTTP请求远程数据文件 * * @param string $url 地址 * * @return boolean/array 获取远程数据文件 */ function getHttpFileGyArray( $url ) { /* 引入全局变量 */ global $tempfile,$smsdata; try { /* 读取数据 */ $text = @file_get_contents($url); $text = explode('@',$text); /* 生成PHP数组内容 */ foreach( $text as $key => $row ) { $at = explode('|',$row); $smsdata[$at[0]]['dx'] = $at[1]; } /* 缓存到本地 */ $content = "<?php\n\n return ".var_export($smsdata, true).";\n"; file_put_contents($tempfile, $content); } catch (FtpException $e) { $smsdata = array(); return false; } return true; } getFileReader(); print_r($smsdata); ?>
Tiwer