Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Datei-Caching-Funktion
Der Code lautet wie folgt:
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); }