`
王之子
  • 浏览: 110426 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

如何把数组动态写进PHP文件作为文件缓存

php 
阅读更多

 

/**
* @Purpose: 设置缓存文件信息
* @Method Name:set_user_capacityCache()
* @Parameter: int $uid 用户的uid, array $arr 存放的数据数组
* @Return: 返回存放文件的字符长度
*/
function set_user_capacityCache($uid, $arr){
	$objfile = get_user_capacityCache_path($uid);
	$arrays = array();
	if(file_exists($objfile)){
		$arrays = file_get_contents($objfile);
                $arrays = unserialize($arrays);
		if(!is_array($arrays))
			$arrays = array();
	}
	$arrays[$uid] = $arr;
        $data = serialize($arrays);
	$strlen = file_put_contents($objfile, $data, LOCK_EX);
	chmod($objfile, 0777);
	return $strlen;
}
/**
* @Purpose: 缓存文件存在 则取缓存的内容,不存在 返回false
* @Method Name:output_user_capacityCache()
* @Parameter: int $uid 用户的uid
* @Return: 存在 返回array数据 不存在 返回 false
*/
function output_user_capacityCache($uid)
{
	$objfile = get_user_capacityCache_path($uid);
	if(!file_exists($objfile))
        {
	    return false;
	} 
        else 
        {
            $arrays = file_get_contents($objfile);
            $arrays = unserialize($arrays);
	    if(!is_array($arrays) || empty($arrays[$uid]) || ($arrays[$uid]['timestamp'] + 24*3600 < time()))
		return false;
	    return $arrays[$uid];
	}
}
/**
* @Purpose: 取得能力集市信息文件路径
* @Method Name:  get_user_headCache_path()
* @Parameter: int $uid 用户的uid
* @Return: string 返回文件的路径
*/
function get_user_capacityCache_path($uid)
{
	$dir = __DIR__;//目录
	$folder_name = ceil($uid/10000); //文件夹名称
	$file_name = ceil($uid/100).'.php'; //文件名称
	
	$folder_dir = $dir.$folder_name."/";
	$file_path = $folder_dir.$file_name;
	
	if(!is_dir($folder_dir))
	    mkdir($folder_dir, 0777, true);

	return $file_path;
}

 

 注意:只能存放数组,无法存放对象。

分享到:
评论

相关推荐

    php将数组存储为文本文件方法汇总

    php 缓存数组形式的变量,实际上就是将 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件。那么如何使用 php 将数组保存为文本格式的文件呢?下面分享三种方法实现将 php 数组...

    php下把数组保存为文件格式的实例应用

    我使用过两种办法: 第一种是数组序列化,简单,但是调用时比较麻烦一些;第二种是保存为标准的数组格式,保存时麻烦但是调用时简单。 第一种方法: PHP代码 复制代码 代码如下: $file=”./cache/file.cache”; $...

    php 写入缓存文件、读取缓存文件的函数代码

    接着,构造缓存文件的路径,并创建一个PHP文件格式的字符串,其中包含一个名为`$data`的变量,该变量用`var_export`函数序列化 `$caches` 的内容。`var_export`确保数据以PHP语法的形式输出,以便稍后可以被解析。...

    以文件形式缓存php变量的方法

    在PHP中实现文件缓存,我们可以创建一个缓存类,用来定义缓存的基本操作,如设置缓存路径、缓存时间、缓存类型以及扩展名等配置项,并实现缓存的写入、读取和清除等方法。 #### 缓存类的关键属性 - `cacheRoot`: ...

    常见php数据文件缓存类汇总

    这种方法封装性好,使用简单,适合作为对PHP文件缓存进行快速实现的参考。 6. 缺点与优化:文件缓存相对于内存缓存(如Memcache)来说,存取速度较慢,且在高并发情况下可能会成为性能瓶颈。此外,频繁地进行文件...

    PHP-一个好用的文件缓存类

    以前开发的项目中的一个文件缓存类,自己写的。 支持缓存的数据类型包括null、boolean、string、int、array、object(只能以数组形式缓存属性);缓存的内容为PHP源码,方便查错;支持每个缓存文件设置不同的失效...

    php在线管理文件

    1. 文件缓存:对于大文件或频繁访问的文件,可以考虑使用缓存技术,如APC、Memcached或Redis,减少磁盘I/O操作。 2. 文件索引:建立文件索引可以加速文件查找,例如使用SQLite或MySQL数据库存储文件信息。 3. 多...

    PHP中文件缓存转内存缓存的方法

    PHP中实现文件缓存转内存缓存的方法可以显著提升数据处理的速度和效率。这种转换的核心在于将原本存储于文件系统中的缓存数据迁移到内存中,由于内存的读写速度远远高于磁盘,因此可以显著减少数据加载和处理时间,...

    php 文件缓存函数

    在PHP中,文件缓存是一种优化网站性能的技术,它通过将动态生成的数据存储到文件系统中,以便后续请求时能够快速读取,避免了重复计算或数据库查询的开销。以下是一个简单的PHP文件缓存函数的实现,这些函数主要用于...

    基于PHP的爱特 php文件管理中转上传 v1.8.1.zip

    【标题】"基于PHP的爱特 php文件管理中转上传 v1.8.1" 是一个专门用于PHP环境下的文件管理与上传系统。这个版本号表明这是该软件的1.8.1次更新,通常意味着它包含了一些修复、优化或者新功能的添加。 【描述】中的...

    关于缓存的一点心得

    4. **`fopen()`, `fwrite()`, `fclose()`**:分别用于打开、写入和关闭文件,是实现文件缓存的基础。 5. **`serialize()` 和 `unserialize()`**:这两个函数用于序列化和反序列化对象或数组,这对于将复杂的数据结构...

    PHP文件缓存类示例分享

    在PHP开发中,性能优化是一个经常被提及的话题,而文件缓存是实现性能优化的一种有效手段。文件缓存利用的是磁盘存储的快速读写能力,可以将经常使用的数据以文件的形式存储到磁盘中,在需要时读取,从而减少数据库...

    PHP程序加速探索之缓存输出

    `创建一个新的Cache_Output实例,其中第一个参数'file'表示使用文件缓存,第二个参数是一个关联数组,指定缓存目录。 4. 生成唯一缓存ID:使用`$cache-&gt;generateID()`方法,传入一个包含URL、POST数据和Cookie信息...

    ThinkPHP文件缓存类代码分享

    本文将介绍ThinkPHP框架中的文件缓存类的使用,包括其代码结构、方法说明以及如何实现文件缓存的基本操作。 首先,ThinkPHP的文件缓存类通过面向对象的方法封装了缓存的基本操作,包括设置缓存、获取缓存和删除缓存...

    PHP缓存技术[总结].pdf

    静态缓存是将动态生成的页面转换为静态HTML或XML文件,仅在内容更改时重新生成。这种方法适用于内容几乎不变的页面,如新闻列表或产品详情页。 6. 内存缓存(如Memcached): Memcached是一种分布式内存对象缓存...

    基于PHP的八年 php文件管理器.zip

    【标题】"基于PHP的八年 php文件管理器.zip" 描述了一个使用PHP语言开发的长期演进的文件管理系统。这个项目可能经历了八年的迭代和发展,旨在提供高效、稳定且功能丰富的文件操作解决方案。PHP作为服务器端脚本语言...

    PHP文件数据类网站实例开发源码——文件管理器(PHP).zip

    该压缩包文件“PHP文件数据类网站实例开发源码——文件管理器(PHP).zip”包含了一个基于PHP的文件管理系统源代码。这个系统主要是为了帮助用户管理和操作服务器上的文件,如浏览、上传、下载、删除等基本操作。让...

Global site tag (gtag.js) - Google Analytics