Требование: PHP => 5.3, часть 2
[cswow.git] / include / simple_cacher.php
blobafec18565ae4c75e428392dd063da04747d1d3a4
1 <?php
2 function checkUseCacheJs($filename, $time)
4 $script_start_time = time(); // Текущее время
5 $cachetime = @filemtime('cache/'.$filename); // Время создания/изменения файла кэша (0 если файла нет)
6 if ($script_start_time - $cachetime < $time) // Проверяем устарел ли кэш
8 // Всё норм подключаем скрипт из кэша
9 echo '<script type="text/javascript" src="cache/'.$filename.'"></script>';
10 return 0;
12 // Данных в кэше нет или устарели, начинаем кэшировать вывод
13 ob_start();
14 return 1;
16 function flushJsCache($filename)
18 // Скидываем скэшированые данные в файл
19 $open=@fopen("cache/".$filename, "w");
20 if (!$open)
22 mkdir("cache", 0700);
23 $open=fopen("cache/".$filename, "w");
25 flock($open, LOCK_EX); // Блокируем файл
26 rewind($open); // Установка позиции в начало файла
27 fwrite($open, ob_get_contents()); // Записываем данные
28 fclose($open); // Закрываем файл
29 ob_end_clean();
30 echo '<script type="text/javascript" src="cache/'.$filename.'"></script>';
33 function checkUseCacheHtml($filename, $time)
35 $script_start_time = time(); // Текущее время
36 $cachetime = @filemtime('cache/'.$filename); // Время создания/изменения файла кэша (0 если файла нет)
37 if ($script_start_time - $cachetime < $time) // Проверяем устарел ли кэш
39 // Всё норм подключаем скрипт из кэша
40 include ('cache/'.$filename);
41 return 0;
43 // Данных в кэше нет или устарели, начинаем кэшировать вывод
44 ob_start();
45 return 1;
47 function flushHtmlCache($filename)
49 // Скидываем скэшированые данные в файл
50 $open=@fopen("cache/".$filename, "w");
51 if (!$open)
53 mkdir("cache", 0700);
54 $open=fopen("cache/".$filename, "w");
56 flock($open, LOCK_EX); // Блокируем файл
57 rewind($open); // Установка позиции в начало файла
58 fwrite($open, ob_get_contents()); // Записываем данные
59 fclose($open); // Закрываем файл
60 ob_end_clean();
61 include ('cache/'.$filename);