Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кеширование страниц на сутки!
 
 автор: Sywooch   (28.07.2007 в 16:14)   письмо автору
 
 

Привет. Не смеятся, я в этом "0"!

Подскажите пожалуйста каким образом сделать кеш странички в файл, дабы не грузить сервер постоянным выполнением кода!
И дать обновление по времени скажем раз в сутки!?

   
 
 автор: Sywooch   (28.07.2007 в 18:07)   письмо автору
 
   для: Sywooch   (28.07.2007 в 16:14)
 

UP

   
 
 автор: Proger   (29.07.2007 в 00:01)   письмо автору
 
   для: Sywooch   (28.07.2007 в 18:07)
 

Это правильней назвать не кешированием, а генерацией - 1
Чтобы это сделать нужно сделать скрипт для создания собственно этих страниц и запускать его или вручную каждый день в 00-00-00, либо запускать процесс с помощью Cron. Другого выхода по описанной Вами ситации - я лично не знаю! - 2

   
 
 автор: Sywooch   (29.07.2007 в 05:01)   письмо автору
 
   для: Proger   (29.07.2007 в 00:01)
 

Все что вы написали я знаю и сам!
Вопрос я задал для того чтоб возможно кто помог хотяб ссылкой на схожую тему.

   
 
 автор: Sywooch   (29.07.2007 в 20:23)   письмо автору
 
   для: Sywooch   (28.07.2007 в 16:14)
 

Собсно как всегда решил проблему сам....

Код:

<?
if((!file_exists($_SERVER['DOCUMENT_ROOT']."/".$cash_dir."/cat_mine.tmp")) or (time() - filemtime($_SERVER['DOCUMENT_ROOT']."/".$cash_dir."/cat_mine.tmp") > 1200))
{
Connect();
$query "SELECT * FROM static ORDER BY id DESC limit 10";
$thm mysql_query($query);

ob_start();
print 
"<table border='0' width='100%'>";
$i=1;
while(
$cat mysql_fetch_array($thm))
                {
print 
'<td width="50%"><font style="color:#0088C0;">&nbsp;&bull;&nbsp;</font><a class="menu" href="'.$mine_page.'/static/'.$cat['url'].'/"><font style="color:#c00000;">'.$cat['name'].'</font></a></td>';
                        if(
$i==2) { print "<tr>"$i=0; }
                        
$i++;
                }
print 
"</table>";
$res=ob_get_contents(); 
ob_end_clean();
  
$fp fopen($_SERVER['DOCUMENT_ROOT']."/".$cash_dir."/cat_mine.tmp""w");
  
fwrite($fp$res);
  
fclose($fp);
  
chmod($_SERVER['DOCUMENT_ROOT']."/".$cash_dir."/cat_mine.tmp",0777);
  unset(
$res);
print 
file_get_contents($_SERVER['DOCUMENT_ROOT']."/".$cash_dir."/cat_mine.tmp");

}
else {
print 
file_get_contents($_SERVER['DOCUMENT_ROOT']."/".$cash_dir."/cat_mine.tmp");
}
?>



Код взят прямо с сайта, так что извините за видон..
Наругайте если что то не так пожалуйта!

Безсмысленных постов, как Proger, просьба не оставлять!

   
 
 автор: Sywooch   (30.07.2007 в 02:41)   письмо автору
 
   для: Sywooch   (29.07.2007 в 20:23)
 

UP

Господа проверьте код. есть ли какие нить ошибки???

   
 
 автор: Proger   (30.07.2007 в 03:19)   письмо автору
 
   для: Sywooch   (30.07.2007 в 02:41)
 

OFFTOP: Схожую тему врятли Вы найдёте, так как Вы изначально её неправильно составили. Вот и всё. Я отписался в соответствии с Вашей темой, совставте нормально, получите соответствующие ответы.

   
 
 автор: Unkind   (30.07.2007 в 03:31)   письмо автору
 
   для: Sywooch   (29.07.2007 в 20:23)
 

Слово "кеш" пишется "cache". Cash - это наличные.

Не надо писать print file_get_contents(). Есть такая ф-я - readfile(). Она не гробит оперативную память.

Еще лучше использовать mysql_fetch_assoc(), т.к. я вижу Вы не используете индексы, а только ключи.

Еще есть замечания...

   
 
 автор: Sywooch   (30.07.2007 в 10:36)   письмо автору
 
   для: Unkind   (30.07.2007 в 03:31)
 

>>Не надо писать print file_get_contents().
>>Есть такая ф-я - readfile(). Она не гробит оперативную память.

Я наверное не умею работать с readfile() !!! Она у меня разом с содержимым файла еще какие то числа печалает :(

   
 
 автор: Unkind   (30.07.2007 в 10:45)   письмо автору
 
   для: Sywooch   (30.07.2007 в 10:36)
 

Так не надо никаких print перед ней ставить. Просто имя файла.

<?php
readfile
("file.txt");
?>

   
 
 автор: Sywooch   (03.08.2007 в 21:52)   письмо автору
 
   для: Unkind   (30.07.2007 в 10:45)
 

Говорю же не умею с ней работать :)
Спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования