XML ausgabe cachen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XML ausgabe cachen

    Ich habe von nem Ambieter ne XML bekommen bzw ne link wo man die abrufen kann.Aber die ausgabe soll 15min gecacht werden. Ich habe das nun so gemacht erst das er die daten aus der xml datei speichert und dann mit smarty ausgibt. Smarty hat ja die funktion cachen. Die Seite wird gecacht, nur wird trozdem dauernt die abfrage durchgeführt im script selber.
    Also kleine Beschreibung was das ganze eigentlich soll. Ich bin dabei ne Memberliste zu schreiben für eine gilde im mmorpg Ragnarok vlt ist das einiogen ein begrif. Der Spiele Betreiber bietet für fan sites usw eine xml an wo man die lvl job usw anschauen kann. Das ganze hat den vorteil man muss seine eigne db ned mehr selber aktualisiern. Nur darf halt die abfrage alle 15min erfolgen.

    Das script so aus
    PHP-Code:
     $smarty->cache_dir 'cache_dir/';
     
    $smarty->caching true;
     
    $smarty->cache_lifetime 900;
     
    $modul $_REQUEST['modul'];

       
    $query "SELECT * FROM $db_member where kat='$row1[kat]' order by id";
       
    $ergebn2 mysql_query($query); 

       while (
    $row mysql_fetch_array($ergebn2)) 
       {
        
    $dokument domxml_open_file("http://www.euro-ro.net/vcxml/chaos/$row[nick].xml");
      
        
    $meine_elemente $dokument->get_elements_by_tagname("name");
        foreach (
    $meine_elemente as $knoten)
        {
         
    $nick1$knoten->get_content();
        }

        
    $meine_elemente3 $dokument->get_elements_by_tagname("baselevel");
        foreach (
    $meine_elemente3 as $knoten)
        {
         
    $level$knoten->get_content();
        }

        
    $meine_elemente4 $dokument->get_elements_by_tagname("job");
        foreach (
    $meine_elemente4 as $knoten)
        {
         
    $job$knoten->get_content();
        }
     
        
    $meine_elemente2 $dokument->get_elements_by_tagname("gender");
        foreach (
    $meine_elemente2 as $knoten)
        {
         
    $gender$knoten->get_content();
        }

        if(
    $modul == member)
        {
         
    mysql_query("UPDATE  $db_member SET lvl = '$level', 
         job = '
    $job', gender = '$gender' WHERE id = '$row[id]'");
        }

        
    $member$row;
        
    $smarty->append('member'$member);
       }
      } 

  • #2
    Möglichkeit a) Du untersuchst, wie und wo Smarty die gecachten Seiten speichert. Bevor du domxml_open_file() benutzt, schaust du nach, wie alt die Seite im Cache ist.
    Möglichkeit b) Immer wenn du domxml_open_file() benutzt, speicherst du irgendwo die aktuelle Zeit und das File, was du öffnest. Bevor du wieder domxml_open_file() benutzt, schaust du nach ...

    Kommentar

    Lädt...
    X