Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz spammer #9370 üzenetére

    Feltételezem, a WordPress is támogat komolyabb szintű cache-elést, így szerintem érdemes lenne mégis megfontolnod az arra vagy más CMS-re való átállást, ha valami könnyen módosíthatót szeretnél - lehet, hogy később bővíteni szeretnéd tartalmakkal az oldaladat.
    Persze ez csak lehetséges alternatíva, ha időt szeretnél magadnak megspórolni.

    Ha nem akarsz ilyet, és az egyszerű megoldások között keresel, létezik nagyon favágó módszer, ami nagyon nem a webfejlesztés gyöngye, de végül is működik, vegyük úgy, hogy mondjuk 10 darab cikked van, és ahogy említetted, ez 10 külön HTML-fájlba van szétdobva, és csakis ezeket szeretnéd megjeleníteni:
    - mindegyik fájlnak legyen azonos a kiterjesztése (pl. .php, ha akarsz mondjuk belerakni valami PHP-kódot, legyen alkalmas rá), és lehetőleg a követhetőség miatt legyenek azonos könyvtárban
    - van egy index.php fájlod, ahol az összes lényeges műveletet elvégzed; az ömlesztett kiíratást, valamint az egy darab megadott cikknek a kiíratását is
    - berakod egy tömbbe ennek a 10 db fájlnak a nevét mondjuk kiterjesztés nélkül, figyelsz rá, hogy helyes nevet adj meg, és lehetőleg egyáltalán ne tartalmazzon ékezetes vagy más speciális karaktereket;
    - egy foreach-csel végigmész ezen a tömbön, és szépen file_get_contents-szel beolvastatod és kiíratod ezeknek a fájloknak a tartalmát
    - mindeközben figyelsz arra is, hogy a fájlokban a cikk címe és egy önhivatkozás is legyen benne - a hivatkozás meg mondjuk legyen ilyesmi: index.php?article=tokmindegy, ahol tokmindegy a fájl neve kiterjesztés nélkül, kiterjesztéssel meg tokmindegy.php
    - ha valaki úgy nyitja meg az oldalt, hogy http://example.com/index.php VAGY http://example.com/index.php VAGY http://example.com/index.php?article=, akkor ömlesztve jeleníted meg az összes cikket
    - ha valaki úgy nyitja meg az oldalt, hogy http://example.com/index.php?article=tokmindegy, akkor megvizsgálod, hogy létezik-e a tokmindegy.php az adott könyvtárban, ha igen, akkor kiíratod, és kész vagy; ha nem létezik, akkor pl. kiraksz egy hibaüzenetet, hogy nincs ilyen fájl, és megjeleníted ömlesztve a tartalmat. Ha valaki ilyen módon nyitja meg az oldalt, akkor a $_GET['article'] értéke egyenlő lesz tokmindegy sztringgel.

    Vegyük azt, hogy az "itt_tarolod_a_cikkeket" könyvtárban vannak a tartalmaid, ez pedig az index.php-vel azonos könyvtárban helyezkedik el.
    Valahogy így néz ki akkor a könyvtárstruktúra (most azért tettem DIR-t az itt_tarolod_a_cikkeket mögé, hogy jelezzem, hogy az egy könyvtár):

    fejlec.php
    lablec.php
    index.php
    itt_tarolod_a_cikkeket [DIR]
    |-- tokmindegy.php
    |-- masikcikk.php
    |-- megegycikk.php
    |-- ....

    Ez alapján NAGYON leegyszerűsített tákolmány fos példa, gyorsan összekotorva:

    Pl.:

    <?php
    // .....................

    $articles_directory = 'itt_tarolod_a_cikkeket';
    $articles_array = array( 'tokmindegy', 'masikcikk', 'megegycikk', );

    $page_to_show = '';

    $errors_array = array();

    if( !empty($_GET['article']) ){
    if( in_array($_GET['article'], $articles_array) ){
    if( file_exists($_GET['article']) ){
    $page_to_show = $articles_directory.'/'.$_GET['article'].'.php';
    }
    else{
    $errors_array[] = "File doesn't exist or is not available!";
    }
    }
    else{
    $errors_array[] = 'The following article is invalid: "'.$_GET['article'].'"';
    }
    }

    ?>
    <html>
    <head>
    <title>Teszt</title>
    .......
    <style type="text/css">
    .red {
    color:red;
    }
    </style>
    <head>
    <body>
    <div id="page">
    <div>
    <?php
    require_once('fejlec.php');
    ?>
    </div>
    <div id="content">
    <?php
    if(!empty($errors_array)){
    echo '<div class="red">', implode('<br />', $errors_array), '</div>';
    }
    if(empty($page_to_show)){
    foreach($articles_array as $article){
    $article_path = $articles_directory.'/'.$article.'.php';
    if( file_exists($article_path) ){
    echo file_get_contents($article_path);
    }
    else{
    echo '<div class="red">"'.$article.'" doesn\'t exist!</div>';
    }
    }
    }
    else{
    $article_path = $articles_directory.'/'.$page_to_show.'.php';
    echo file_get_contents($article_path);
    }
    ?>
    </div>
    <div>
    <?php
    require_once('lablec.php');
    ?>
    </div>
    </div>
    </body>
    </html>

    Mivel őszintén szólva még egy szövegszerkesztőbe sem dobáltam bele, csak itt a PH!-s textarea-ba pötyögtem be, ezért ne tépjétek le a tökömet, ha szintaktikai hibát tartalmaz, innen úgy tűnt, hogy nincs benne. :D

    Meg hát ezzel nem akartam senkinek programozási tanácsot adni, sőt, mert ez nem egy szép módszer. :D
    Csak a gyorscélnak megfelel, legalábbis ez a fenti ilyen ötperces módszer. :B

    Sk8erPeter

Új hozzászólás Aktív témák