За последние 24 часа нас посетили 172972 программиста и 3065 роботов. Сейчас ищут 1747 программистов ...

Долго генерирует страницу. Как упростить?

Тема в разделе "PHP для новичков", создана пользователем minux, 2 июн 2012.

  1. minux

    minux Активный пользователь

    С нами с:
    14 май 2012
    Сообщения:
    89
    Симпатии:
    1
    <?php
    #берем домен и запрошенный урл
    $domain=$_SERVER['HTTP_HOST'];
    $page=getenv('REQUEST_URI');
    $empty="";
    ?>


    <a href='https://karelia-forest.ru'>доску обрезную куплю в Москве</a> | <a href='http://7-korzin.ru/'>подарочные корзины для женщин</a>


    <?php
    #берем контент для нужной страницы из файла
    $morda='/';
    if ($page==$morda)
    {$content=file_get_contents("content/$domain/0.html");}
    else
    {$content=file_get_contents("content/$domain$page");}
    $content=str_replace("<img src='","<img src='content/$domain/",$content);
    $content=explode("\n",$content,3);
    $postname=current($content);
    $keywords=next($content);
    $content=next($content);
    ?>

    <?php
    #страница 404
    if($content==$empty){
    $content="ERROR 404";
    }
    ?>

    <?php
    #листалка по страницам "вперед-назад"
    if($content!=$empty)
    {
    $current=str_replace("/","",$page);
    $back=(($current)-1);
    $next=(($current)+1);
    $back=str_replace("0","/",$back);
    $back=preg_replace("#-(.*)#","",$back);
    if ($back!=$empty){$back="<a href='$back.html'>[<<]</a>";}
    $lastpage=scandir("content/$domain/");
    $lastpage=end($lastpage);
    $lastpage=str_replace(".html","",$lastpage);
    $lastpage++;
    if ($next!=$lastpage){$next="<a href='$next.html'>[>>]</a>";}
    else {$next=$empty;}
    }
    ?>

    <?php
    #меню для роботов закрытое спойлером (все страницы сайта в кучку)
    if($content!=$empty)
    {
    $spoler='<script language="JavaScript">function go(id){if (document.getElementById(id).style.display=="") {document.getElementById(id).style.display="none";} else {document.getElementById(id).style.display="";} }</script><a href="javascript:go(1)" >[+]</a><font id="1" style="display: none;"><br>';
    ob_start();
    foreach(glob("content/$domain/*.html") as $key => $menu){
    $menu=str_replace("content/$domain/","",$menu);
    $menu=str_replace("0.html","",$menu);
    $menu="<a href='/$menu'>$key</a>\n";
    echo $menu;}
    $menu=ob_get_clean();
    }
    ?>

    <?php
    #получение шаблона и вывод его через EVAL
    $run=file_get_contents("templates/$domain/index.html");
    $run=preg_replace("#\"#","'",$run);
    $run=str_replace("<img src='","<img src='templates/$domain/",$run);
    eval("\$run = \"$run\";");
    echo $run;
    ?>

    Все сидит в index.php
    По аналогии сделано robots.txt и sitemap.xml которые открываются молниеносно.
    Так же сделана админка, тоже мгновенно открывающаяся.
    А вот страницы думают перед выводом на экран браузера по 20 и более секунд...


    Как бы упростить это дело???

    Пробовал убрать листалку и меню, но страницы все равно появляются медленно...
    Значит дело в контенте :(

    В файлах контента все просто:
    1 строка - заголовок
    2 строка - ключевики
    3 и далее - статья

    Пробовал на локалке (Денвер и UsbWebServer8.2) и на хосте. Тормозит везде :(



    <a href='http://www.sex-penis.ru'>экстендер для члена</a>