|
|
|
| Привет. Не смеятся, я в этом "0"!
Подскажите пожалуйста каким образом сделать кеш странички в файл, дабы не грузить сервер постоянным выполнением кода!
И дать обновление по времени скажем раз в сутки!? | |
|
|
|
|
|
|
|
для: Sywooch
(28.07.2007 в 16:14)
| | UP | |
|
|
|
|
|
|
|
для: Sywooch
(28.07.2007 в 18:07)
| | Это правильней назвать не кешированием, а генерацией - 1
Чтобы это сделать нужно сделать скрипт для создания собственно этих страниц и запускать его или вручную каждый день в 00-00-00, либо запускать процесс с помощью Cron. Другого выхода по описанной Вами ситации - я лично не знаю! - 2 | |
|
|
|
|
|
|
|
для: Proger
(29.07.2007 в 00:01)
| | Все что вы написали я знаю и сам!
Вопрос я задал для того чтоб возможно кто помог хотяб ссылкой на схожую тему. | |
|
|
|
|
|
|
|
для: 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;"> • </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
(29.07.2007 в 20:23)
| | UP
Господа проверьте код. есть ли какие нить ошибки??? | |
|
|
|
|
|
|
|
для: Sywooch
(30.07.2007 в 02:41)
| | OFFTOP: Схожую тему врятли Вы найдёте, так как Вы изначально её неправильно составили. Вот и всё. Я отписался в соответствии с Вашей темой, совставте нормально, получите соответствующие ответы. | |
|
|
|
|
|
|
|
для: Sywooch
(29.07.2007 в 20:23)
| | Слово "кеш" пишется "cache". Cash - это наличные.
Не надо писать print file_get_contents(). Есть такая ф-я - readfile(). Она не гробит оперативную память.
Еще лучше использовать mysql_fetch_assoc(), т.к. я вижу Вы не используете индексы, а только ключи.
Еще есть замечания... | |
|
|
|
|
|
|
|
для: Unkind
(30.07.2007 в 03:31)
| | >>Не надо писать print file_get_contents().
>>Есть такая ф-я - readfile(). Она не гробит оперативную память.
Я наверное не умею работать с readfile() !!! Она у меня разом с содержимым файла еще какие то числа печалает :( | |
|
|
|
|
|
|
|
для: Sywooch
(30.07.2007 в 10:36)
| | Так не надо никаких print перед ней ставить. Просто имя файла.
<?php
readfile("file.txt");
?>
|
| |
|
|
|
|
|
|
|
для: Unkind
(30.07.2007 в 10:45)
| | Говорю же не умею с ней работать :)
Спасибо! | |
|
|
|