php下把数组保存为文件格式的实例应用
2015-01-24信息快讯网
我们通常把一些常用的数据保存为数组格式方便调用,同时这也是缓存的重要方法。
我使用过两种办法:第一种是数组序列化,简单,但是调用时比较麻烦一些;第二种是保存为标准的数组格式,保存时麻烦但是调用时简单。
第一种方法:
PHP代码
$file="./cache/file.cache";
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
//缓存
file_put_contents($file,serialize($array));//写入缓存
//读出缓存
$handle = fopen($file, "r");
$cacheArray = unserialize(fread($handle, filesize ($file)));
第二种方法:
比较复杂,先贴几个函数:
//写入
function cache_write($name, $var, $values) {
$cachefile = S_ROOT.'./data/data_'.$name.'.php';
$cachetext = "<?php\r\n".
"if(!defined('CHECK_CODE')) exit('Access Denied');\r\n".
'$'.$var.'='.arrayeval($values).
"\r\n?>";
if(!swritefile($cachefile, $cachetext)) {
exit("File: $cachefile write error.");
}
}
//数组转换成字串
function arrayeval($array, $level = 0) {
$space = '';
for($i = 0; $i <= $level; $i++) {
$space .= "\t";
}
$evaluate = "Array\n$space(\n";
$comma = $space;
foreach($array as $key => $val) {
$key = is_string($key) ? '\''.addcslashes($key, '\'\\').'\'' : $key;
$val = !is_array($val) && (!preg_match("/^\-?\d+$/", $val) || strlen($val) > 12) ? '\''.addcslashes($val, '\'\\').'\'' : $val;
if(is_array($val)) {
$evaluate .= "$comma$key => ".arrayeval($val, $level + 1);
} else {
$evaluate .= "$comma$key => $val";
}
$comma = ",\n$space";
}
$evaluate .= "\n$space)";
return $evaluate;
}
//写入文件
function swritefile($filename, $writetext, $openmod='w') {
if(@$fp = fopen($filename, $openmod)) {
flock($fp, 2);
fwrite($fp, $writetext);
fclose($fp);
return true;
} else {
runlog('error', "File: $filename write error.");
return false;
}
}
调用方法很简单:
PHP代码
cache_write('file', 'arrayName', $array);
使用上形同标准的include格式:
PHP代码
@include ('./data/data_cache.php');
//数组重新排序
sort($arrayName);
PHP 数据结构 算法 三元组 Triplet
php中批量删除Mysql中相同前缀的数据表的代码
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
在php中判断一个请求是ajax请求还是普通请求的方法
PHP学习笔记之数组篇
php中对2个数组相加的函数
php学习笔记 数组的常用函数
php学习之 数组声明
php学习笔记 数组遍历实现代码
php修改时间格式的代码
php 定界符格式引起的错误
PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
PHP与C#分别格式化文件大小的代码
PHP JSON格式数据交互实例代码详解
php下保存远程图片到本地的办法
php带密码功能并下载远程文件保存本地指定目录 修改加强版
php access 数据连接与读取保存编辑数据的实现代码
收藏的PHP常用函数 推荐收藏保存
劣质的PHP代码简化
php date与gmdate的获取日期的区别
php 获取当前访问的url文件名的方法小结
用php实现的下载css文件中的图片的代码
php不用内置函数对数组排序的两个算法代码
PHPWind 发帖回帖Api PHP版打包下载
用php实现的获取网页中的图片并保存到本地的代码
php下将XML转换为数组
PHP 巧用数组降低程序的时间复杂度
PHP array_push 数组函数
PHP 基本语法格式
PHP 用数组降低程序的时间复杂度
php利用header函数实现文件下载时直接提示保存
用php将任何格式视频转为flv的代码
php 将bmp图片转为jpg等其他任意格式的图片
php 将bmp图片转为jpg等其他任意格式的图片
php 采集书并合成txt格式的实现代码
php 远程图片保存到本地的函数类
用php获取远程图片并把它保存到本地的代码