Scripts verschachteln

  • Hallo Community,


    vorweg möchte ich sagen, dass ich totales Frischfleisch im php-Bereich bin, daher wird sich vielleicht so manch einer an den Kopf fassen und fragen, was für dumme Fragen ich stelle :D


    Nun zu meinem Problem. Ich möchte in einem Script prüfen lassen, ob eine Datei existiert, und wenn das der Fall ist, soll das Script diese Datei einbetten. Bisher noch ziemlich einfach, der Punkt an dem ich scheitere: Da es sich um News-Boxen handelt, werden diese in HTML ja mit <li>123</li> eingebunden. Das muss aber vom Script mit ausgegeben werden, da sonst die Box sonst auch leer eingeblendet wird. In den HTML-Befehl <li></li> muss aber wieder ein weiteres Script, das die ausgelagerte HTML-Datei einbindet, in der der eigentliche Inhalt steht.
    Ich kann mir vorstellen, dass das so manch einer nicht verstanden hat, weil meine Erklärung ziemlich kompliziert und blöd formuliert ist, daher folgt mein bisheriger Quellcode, aus dem man vermutlich entnehmen kann, was ich möchte.


    PHP
    1. <?php
    2. if (file_exists("de/news1.html")) {
    3. echo '<li><?php include("de/news1.html")?></li>';}
    4. ?>


    Schonmal vielen Dank für alle guten Ratschläge!


    Liebe Grüße,
    Shadow1911

  • Du musst das ganze verketten:


    PHP
    1. <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php <br />if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"de/news1.html"</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> <br />echo </span><span class="syntaxstring">'<li>'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> include</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"de/news1.html"</span><span class="syntaxkeyword">).</span><span class="syntaxdefault"> </span><span class="syntaxstring">'</li>'</span><span class="syntaxkeyword">;<br />}</span><span class="syntaxdefault"> <br />?><br /></span></span>


    Zur Verkettung von Inhalten in ' ' und Funktionen/Variablen etc. dient der Punkt .


    Grüße

  • Versuchs mal ohne die Verkettung.
    Da beim Includen sowieso der enthaltene Code ausgegeben / ausgeführt wird, musst dus nicht in ein echo schreiben. Das echo gibt vermutlich noch den Rückgabewert von include() aus (in diesem Falle vermutlich true, also 1, da die Datei erfolgreich eingebunden wurde).

    PHP
    1. <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php <br /></span><span class="syntaxkeyword">if (</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"de/news1.html"</span><span class="syntaxkeyword">)) { <br /> echo </span><span class="syntaxstring">'<li>'</span><span class="syntaxkeyword">;<br /> include(</span><span class="syntaxstring">"de/news1.html"</span><span class="syntaxkeyword">);<br /> echo </span><span class="syntaxstring">'</li>'</span><span class="syntaxkeyword">;<br />} <br /></span><span class="syntaxdefault">?></span></span>