php 文件缓存函数_php技巧

复制代码 代码如下:

function createHashDir($sign)
{
$md5 = md5($sign);
if(!is_dir(MB_CACHE)) mkdir(MB_CACHE);
for($i=1;$i<=4;$i++)
{
$dir .= $md5{$i}.'/';
if(!is_dir(MB_CACHE.$dir))
{
mkdir(MB_CACHE.$dir);
}
}
return MB_CACHE.$dir;
}
function setCacheFile($data,$sign = 'a',$type = 'array',$id = '')
{
$cacheDir = $this -> createHashDir($sign);
if(!empty($data))
{
$id = $id ? $id : $sign;
$cacheFile = $cacheDir.$id.'.php';
$content = $type == 'array' ? var_export($data,true) : $data;
file_put_contents($cacheFile,'<?php $'.$sign.' = '.$content.'; ?>');
}
}
function getCacheFile($sign = 'a',$id = '')
{
$cacheDir = $this -> createHashDir($sign);
$id = $id ? $id : $sign;
$cacheFile = $cacheDir.$id.'.php';
if(is_file($cacheFile) && include_once($cacheFile))
{
return $$sign;
}
}
function getCacheFilePath($sign = 'a',$id = '')
{
$cacheDir = $this -> createHashDir($sign);
$id = $id ? $id : $sign;
return $cacheDir.$id.'.php';
}
function delCacheFile($sign = 'a')
{
$cacheDir = $this -> createHashDir($sign);
$id = $id ? $id : $sign;
$cacheFile = $cacheDir.$id.'.php';
$this -> del_file($cacheFile);
}

时间: 2024-10-01 14:05:27

php 文件缓存函数_php技巧的相关文章

php visitFile()遍历指定文件夹函数_php技巧

注:visitFile()有少量修改 复制代码 代码如下: <? // 查看指定文件夹的文件 $fileList = array(); function visitFile($path) { global $fileList; $path = str_replace("\\", "/", $path); $fdir = dir($path); while (($file = $fdir->read()) !== false) { if($file ==

php下实现在指定目录搜索指定类型文件的函数_php技巧

复制代码 代码如下: function bdir($dir,$typearr){ $ndir = scandir($dir); foreach ($ndir as $k => $v){ if ($v == '.' || $v == '..'){ continue; } if (filetype($dir.$v) == 'file'){ $arr = explode('.',$v); $type = end($arr); if (in_array($type,$typearr)){ echo $d

php强制下载文件函数_php技巧

本文实例为大家分享了php强制下载文件函数,供大家参考,具体内容如下 public function down() { $id = $this->_get('id'); $M = M("downloads"); $data=$M->where("id=$id and status=1")->find(); !$data && exit; $filename = iconv('UTF-8','GBK',$data['filename'

自己写了一个php检测文件编码的函数_php技巧

关于文件编码的检测,百度一下一大把都是,但是确实没有能用的. 很多人建议 mb_detect_encoding 检测,可是不知为何我这不成功,什么都没输出. 看到有人写了个增强版,用 BOM 判断的,我果断就无视了,这东西完全不靠谱. 最终根据PHP手册里 mb_detect_encoding 函数下方的例子,自己写了一个检测函数, 还包括自动检测编码并按指点编码读取文件的函数. 源码献上,不喜勿喷. 网上的方法我试过没用才写的,说不定环境不一样导致的. 所以万一没用,也别喷我,我只是共享想思路

discuz目录文件资料汇总_php技巧

在某处收集来的discuz目录资料,二次开发挺有用的.记录下.(基于7.0的标准程序,部分与插件无关的文件不作说明) 文件颜色说明: 红色:程序核心文件,修改这类文件时千万要注意安全!橙色:做插件几乎不会用到的文件,大概了解功能就可以了,其实我也不推荐修改这些文件绿色:函数类文件,许多功能强大的自定义函数可以调用这类文件来使用蓝色:最标准的插件制作常用文件紫色:该文件被Zend加密,请不要修改这类文件每个目录里面都有一个空的index.htm,这是为了防止列目录用的,不必理会.根目录./(这里都

PHP解压tar.gz格式文件的方法_php技巧

本文实例讲述了PHP解压tar.gz格式文件的方法.分享给大家供大家参考,具体如下: 1.运用php自带压缩与归档扩展(phar) $phar = new PharData('song.tar.gz'); //路径 要解压的文件 是否覆盖 $phar->extractTo('c:/tmp', null, true); 2.首先需要安装pear类管理工具 linux下 /usr/local/php/bin/pear install Archive_Tar wamp默认没有安装pear,  go-p

php 使用file_get_contents读取大文件的方法_php技巧

当我们遇到文本文件体积很大时,比如超过几十M甚至几百M几G的大文件,用记事本或者其它编辑器打开往往不能成功,因为他们都需要把文件内容全部放到内存里面,这时就会发生内存溢出而打开错误,遇到这种情况我们可以使用PHP的文件读取函数file_get_contents()进行分段读取. 函数说明 string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset

php递归遍历删除文件的方法_php技巧

本文实例讲述了php递归遍历删除文件的方法.分享给大家供大家参考.具体如下: 这个函数稍加修改就可以变成一个递归文件拷贝函数 <?php function mover($src,$dst) { $handle=opendir($src); // Opens source dir. if (!is_dir($dst)) mkdir($dst,0755); // Make dest dir. while ($file = readdir($handle)) { if (($file!=".&q

浅谈php fopen下载远程文件的函数_php实例

如下所示: //下载附件 function get_file($url, $folder = "./") { set_time_limit (24 * 60 * 60); // 设置超时时间 $destination_folder = $folder . '/'; // 文件下载保存目录,默认为当前文件目录 if (!is_dir($destination_folder)) { // 判断目录是否存在 mkdirs($destination_folder); // 如果没有就建立目录