Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как закэшировать данные

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
scuter
Отправлено: 10 Мая, 2008 - 20:30:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




скажите есть ли в PHP как нибудь переменная или функции которая кэширует данные
которые не является индивидуальной для данного пользователя,
то есть один юзер нажал на кнопочку а другой юзер увидел это дело на странице когда,
обновил страницу.
 
 Top
valenok Модератор
Отправлено: 11 Мая, 2008 - 15:34:55
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Однако Записывайте куда нибудь.


-----
Truly yours, Sasha.
 
My status
 Top
scuter
Отправлено: 11 Мая, 2008 - 16:49:37
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




Цитата:
Записывайте куда нибудь.

я просто думал что в php есть уже встроеная какая то штука для кэша,
по началу пробовал вот эти функции http://php.su/functions/?cat=shmop
но они не работают у меня на локалке и серваке реальном тоже не работают,
поэтому наверное придётся всё делать на файлах,
сейчас накропал одну не затейливою штуку,
PHP:
скопировать код в буфер обмена
  1. class cache
  2. {
  3.         var $dir;
  4.         var $tpls;
  5.         function __construct($dir)
  6.         {
  7.                 if(is_string($dir))
  8.                 {
  9.                         $this->dir = $dir;
  10.                         if(is_dir($dir))
  11.                         {
  12.                                 $scan = scandir($dir);
  13.                                 $scan = array_filter($scan, '$this->file_filter');
  14.                         }
  15.                         else
  16.                         {
  17.                                 $this->__destruct();
  18.                         }
  19.                 }
  20.                 else
  21.                 {
  22.                         $this->__destruct();
  23.                 }
  24.         }
  25.         function __destruct($erroe='no corect.')
  26.         {
  27.                 return $erroe;
  28.         }
  29.         function file_filter($type)
  30.         {
  31.                 return preg_match('/\.tmp$/i', $type);
  32.         }
  33.         function is_cache($file)
  34.         {
  35.                 if(file_exists($this->dir.'/'.$file.'.tmp'))
  36.                 {
  37.                         return true;
  38.                 }
  39.                 else
  40.                 {
  41.                         return false;
  42.                 }
  43.         }
  44.         function get($cache)
  45.         {
  46.                 if(file_exists($this->dir.'/'.$cache.'.tmp'))
  47.                 {
  48.                         $cache = file_get_contents($this->dir.'/'.$cache.'.tmp');
  49.                         return eval($cache);
  50.                 }
  51.                 else
  52.                 {
  53.                         return false;
  54.                 }
  55.         }
  56.         function save($name, $put)
  57.         {
  58.                 $put = var_export($put, true);
  59.                 if(@file_put_contents($this->dir.'/'.$name.'.tmp', $put))
  60.                 {
  61.                         return true;
  62.                 }
  63.                 else
  64.                 {
  65.                         return false;
  66.                 }
  67.         }
  68.         function add($name, $put)
  69.         {
  70.                 if($cache = $this->get())
  71.                 {
  72.                         $cache = array_merge_recursive ($put, $cache);
  73.                 }
  74.                 else
  75.                 {
  76.                         $cache = $put;
  77.                 }
  78.                 if($this->save($name, $cache))
  79.                 {
  80.                         return true;
  81.                 }
  82.                 else
  83.                 {
  84.                         return false;
  85.                 }
  86.         }
  87.         function create($name)
  88.         {
  89.                 if(!file_exists($this->dir.'/'.$name.'.tmp'))
  90.                 {
  91.                         return file_get_contents($this->dir.'/'.$name.'.tmp', '');
  92.                 }
  93.                 else
  94.                 {
  95.                         return true;
  96.                 }
  97.         }
  98. }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB