Calculettes pour l'hydraulique
cache.php
Aller à la documentation de ce fichier.
1 <?php
2 
3 define('_HYD_CACHE_DIRECTORY', _NOM_TEMPORAIRES_INACCESSIBLES.'hydraulic/');
4 define('_HYD_CACHE_MAX_SIZE', 1024*1024);
5 
6 function WriteCacheFile($file_name, $file_content) {
7  if(!is_dir(_HYD_CACHE_DIRECTORY)) {
9  }
10  if(is_dir(_HYD_CACHE_DIRECTORY)) {
11  if(mt_rand(0,5)==0) {
13  CacheCleanAll();
14  }
15  }
16  $file_name =_HYD_CACHE_DIRECTORY.$file_name;
17  if($fichier_cache = fopen($file_name,'w')) {
18  fwrite($fichier_cache,serialize($file_content));
19  fclose($fichier_cache);
20  }
21  }
22 }
23 
24 
25 function ReadCacheFile($FileName) {
26  $FileName = _HYD_CACHE_DIRECTORY.$FileName;
27  $aRetour = @unserialize(file_get_contents($FileName));
28  return $aRetour;
29 }
30 
31 /**
32  * Get the directory size
33  * @param directory $directory
34  * @return integer
35  */
36 function CacheSize() {
37  $directory=_HYD_CACHE_DIRECTORY;
38  $size = 0;
39  foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file){
40  $size+=$file->getSize();
41  }
42  return $size;
43 }
44 
45 
46 function CacheCleanAll() {
47  $dp = opendir(_HYD_CACHE_DIRECTORY);
48  while($file = readdir($dp)) {
49  if($file !== '.' and $file != '..') {
50  unlink(_HYD_CACHE_DIRECTORY."/".$file);
51  }
52  }
53 }
54 
55 function format_nombre($nombre,$dec) {
56  if($nombre === false) {
57  return _T('hydraulic:non_calcule');
58  } else {
59  if($nombre=='') $nombre=0;
60  return number_format($nombre, $dec, '.', ' ');
61  }
62 }
63 
64 ?>
const _HYD_CACHE_MAX_SIZE
Definition: cache.php:4
ReadCacheFile($FileName)
Definition: cache.php:25
WriteCacheFile($file_name, $file_content)
Definition: cache.php:6
format_nombre($nombre, $dec)
Definition: cache.php:55
CacheCleanAll()
Definition: cache.php:46
const _HYD_CACHE_DIRECTORY
Definition: cache.php:3
CacheSize()
Get the directory size.
Definition: cache.php:36