|
|
|
|
|
для: gOFREe
(18.07.2009 в 15:12)
| | уже прогресс. | |
|
|
|
|
|
|
|
для: Trianon
(18.07.2009 в 15:11)
| | Неееет, не уговорили ) Буду думать. | |
|
|
|
|
|
|
|
для: gOFREe
(18.07.2009 в 14:55)
| | то есть уговорил.
Добре. | |
|
|
|
|
|
|
|
для: Trianon
(18.07.2009 в 14:48)
| | Хе... ну да.. страница то все равно выводится )) | |
|
|
|
|
|
|
|
для: gOFREe
(18.07.2009 в 14:41)
| | if (!fwrite($fh,$buffer)) { //иначе перезаписываем вернее если не записан
echo $buffer; // Если ошибка, выводим буфер записанный ранее
Где у вас ранее запись буфера была, если новый файл создается? Это вывод буфера.
.......
include $file; //подключаем файл что подключаете? | |
|
|
|
|
|
|
|
для: gOFREe
(18.07.2009 в 14:45)
| | Нет.
Это: Задача такова, пользователь заходит на сайт, если эта страница кэширована, то вывести html страницу(без компиляции кода)
Вот покажите мне, где у Вас развивается ветвь с компиляцией кода и где - без компиляции?
Все претензии, которые тут справедливо обнаружил Sim5 - это мелочь, по сравнению с тем, что Вы не решаете главной задачи - не заменяете тяжеловесное вычисление контента чтением из места хранения кеша.
покажите мне - Вот тут у меня страница вычислялась долго и самозабвенно.
А тут - нет, тут берется из файла. Где?
Зато прилепить тяжелую функцию md5_file рассчитывать хеш кеша , (который не меняется!!!!!) - это Вы реализовали.
Вторым пунктом шло: Вам рано за это браться. | |
|
|
|
|
|
|
|
для: Trianon
(18.07.2009 в 14:42)
| | Это?
if (!fwrite($fh,$buffer)) { //иначе перезаписываем
echo $buffer; // Если ошибка, выводим буфер записанный ранее
}
|
| |
|
|
|
|
|
|
|
для: gOFREe
(18.07.2009 в 13:49)
| | А по второму пункту? | |
|
|
|
|
|
|
|
для: sim5
(18.07.2009 в 14:40)
| | Вывод буфера
<?
ob_start(); //кэш
//Вывод страницы
$buffer = ob_get_contents();
$md5_new_file = trim(md5($buffer));
$file = $md5_new_file.".html";
ob_end_clean(); //очищяем буфер
if (file_exists($file)) { //если файл существует
$md5_old_file = trim(md5_file($file));
if ($md5_old_file == $md5_new_file) { //если файл с буфером равны
include $file; //подключаем файл
}
else {
$fh = fopen($file, "w");
flock ($fh, LOCK_EX);
if (!fwrite($fh,$buffer)) { //иначе перезаписываем
include $file; //подключаем файл
}
flock ($fh, LOCK_UN);
fclose($fh);
include $file; //подключаем файл
}
}
else {
$fh = fopen($file, "w");
flock ($fh, LOCK_EX);
if (!fwrite($fh,$buffer)) { //иначе перезаписываем
echo $buffer; // Если ошибка, выводим буфер записанный ранее
}
flock ($fh, LOCK_UN);
fclose($fh);
include $file; //подключаем файл
}
?>
|
| |
|
|
|
|
|