wucher wichtel: Problem mit Template-Script

Beitrag lesen

Hallo!

Ich habe auf irgendeiner Seite (ich find leider die URL nicht mehr) ein Script gefunden, das als Mini-Templatesystem dienen soll. Das ganze klappt auch einigermaßen. Hier jetzt erst mal das Script:

  
class Page  
{  
  var $page;  
  
  function Page($template = "../template/template.html") {  
    if (file_exists($template))  
      $this->page = join("", file($template));  
    else  
      die("Template file $template not found.");  
  }  
  
  function parse($file) {  
    ob_start();  
    include($file);  
    $buffer = ob_get_contents();  
    ob_end_clean();  
    return $buffer;  
  }  
  
  function replace_tags($tags = array()) {  
    if (sizeof($tags) > 0)  
      foreach ($tags as $tag => $data) {  
        $data = (file_exists($data)) ? $this->parse($data) : $data;  
        $this->page = eregi_replace("{" . $tag . "}", $data,  
                      $this->page);  
        }  
    else  
      die("No tags designated for replacement.");  
  }  
  
  function output() {  
    echo $this->page;  
  }  
}  

Das ganze wird in etwa so aufgerufen:

  
$page = new Page("config/template/template.html");  
  
$page->replace_tags(array(  
  "title" => "Home",  
  "main" => "$content",  
  "header" => "config/template/header.dat",  
  "menu" => "config/template/menu.dat",  
  "left" => "config/template/left.dat",  
  "right" => "config/template/right.dat",  
  "footer" => "config/template/footer.dat"  
));  
  
$page->output();  

Das funktioniert auch alles wunderbar, aber die Variable $content bereitet mir Sorgen. Wenn der Inhalt der Variable etwas mehr Text enhält (ca. 200 Zeichen), dann bricht das Script ab. Die Fehlermeldungen lauten:

Warning: Page::include( ##Hier steht der Inhalt der Variable $content## ) [function.Page-include]: failed to open stream: Invalid argument in O:\xampp\xampp\htdocs\SmallIMGallery\config\classes\templateClass.php on line 16

Die zweite Fehlermeldung sieht so aus:

Warning: Page::include() [function.include]: Failed opening ' ##Hier steht der Inhalt der Variable $content## ' for inclusion (include_path='.;O:\xampp\xampp\php\pear') in O:\xampp\xampp\htdocs\SmallIMGallery\config\classes\templateClass.php on line 16

Woran liegt es, dass nur etwas mehr als 200 Zeichen verwendet werden dürfen? Meine Vermutung ist, dass es an der Ausgabepufferung liegt. Ist nicht genügend Speicher vorhanden? Ich habe die XAMPP Standardinstallation und nichts ist an den Einstellungen für den Speicher verändert worden. Installiert ist Apache 2.2.2. Wie kann ich das Problem lösen?

Vielen Dank für eure Bemühungen!

ciao, ww

--
Schäuble:
  "Wir können alles. Außer Rechtsstaat."