1、json_encode() 将数组转换成json格式,且该函数仅支持utf8格式的数据。
2、iconv(‘utf8’,'gbk',$data) ; //将utf8格式转换成gbk数据。
//files.php
<?php
/**
-
生成缓存文件、删除、读取缓存的操作封装
-
*/
class File {
private $_dir;const EXT = '.txt';
/**
-
初始化文件存储位置
-
/
public function __construct() {
$this->_dir = dirname(FILE) . '/files/';
}
/* -
param $key 缓存文件名称
-
param $value 缓存文件的值
-
*/
public function cacheData($key, $value = '') {
$filename = $this->_dir . $key . self::EXT;if($value !== '') { // 将value值写入缓存
if(is_null($value)) {
return @unlink($filename);
}
$dir = dirname($filename);
if(!is_dir($dir)) {
mkdir($dir, 0777);
}
return file_put_contents($filename,json_encode($value));
}if(!is_file($filename)) {
return FALSE;
}
/*- 定时删除缓存文件
- */
// $contents = file_get_contents($filename);
// $cacheTime = (int)substr($contents, 0 ,11);
// $value = substr($contents, 11);
// if($cacheTime !=0 && ($cacheTime + filemtime($filename) < time())) {
// unlink($filename);
// return FALSE;
// }
return json_decode(file_get_contents($filename),true);
}
} -
//test.php
<?php
require_once ('./file.php');
$data=array(
'code' =>200,
'message'=>'数据返回成功',
'data'=>array(
'name'=>'lili',
'age'=>26
)
);
$file=new File();
if($file->cacheData('index_test_cache')){
var_dump($file->cacheData('index_test_cache'));
echo "success";
}else{
echo false;
}
网友评论