- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
<?php
class Cache
{
var $secret;
function create($timexpire, $data, $catalog="cache/"){
$filename = $catalog.$this->cache().".cache";
$data = "$timexpire\n$data";
$fo = fopen($filename, "w");
fwrite($fo, $data);
fclose($fo);
}
function read($catalog = "cache/"){
$filename = $catalog.$this->cache().".cache";
if(file_exists($filename)){
$content = file($filename);
if(trim($content[0]) < time()){
return 0;
}
unset($content[0]);
return ltrim(implode('', $content));
}
return 0;
}
function clean($catalog = "cache/"){
if($data = glob($catalog."*")){
foreach($data as $o){
if(is_dir($o)){
$this->clean($o);
}else{
unlink($o);
}
}
}
rmdir($catalog);
}
function cache(){
$filename = $_SERVER['REQUEST_URI'];
if(isset($_POST)){
$filename .= implode('',$_POST);
}
return md5($this->secret.$filename);
}
}
?>
Мой класс для кеширования.
Писал давно.
TheHamstertamer 21.09.2011 14:24 # −1
Тока никаму!!
Lure Of Chaos 21.09.2011 15:08 # +1
вот это да! чую, зверские имена файлов в кэше!
и еще интересно, бывали ли в практике случаи, чтобы условие не выполнилось?
ling 21.09.2011 15:15 # 0
Lure Of Chaos 21.09.2011 15:16 # 0
Vasiliy 21.09.2011 15:28 # 0
ling 21.09.2011 15:35 # 0
ling 21.09.2011 15:33 # +4
snet 21.09.2011 17:36 # +1
Имена всех кеш файлов в md5.
Lure Of Chaos 21.09.2011 17:56 # 0
snet 21.09.2011 18:29 # −1
Т.к. перед тем как писать этот класс, я вообще не был в курсе как все должно работать.
Знал только что такое кэширование бывает и все.
Изобрел велосипед, короче говоря.
Lure Of Chaos 21.09.2011 18:33 # 0
qwe345asd 25.08.2021 10:04 # 0