andreasw: include an jeder code-Position möglich ?

Hallo,
ist es prinzipiell möglich, an jeder Position des html-codes (also z.B. in einem Tabellenfeld) mittels des includes-Befehls Text einzubeziehen ?
Ich möchte auf meiner Seite 2 Teile des Menüs, die sich hin- und wieder ändern, auslagern. Anderenfalls müßte ich das Menü an mehreren Stellen gleichzeitig ändern, da das Menü von mehreren Unterseiten benötigt wird.

Meine Frage stelle ich deswegen, weil es bei mir eben nicht klappt - der Code wird nicht einbezogen.

(ich hoffe, ich habe mich verständlich genug ausgedrückt)

  1. Hi
    es ist prinipiell möglich per include() an allen stellenn deines codes dateien einzubinden, aber die datei in die externe dateien eingebunden werden, muss die .php endung haben, sonst funzt der befehl nicht.
    tschüss chrissi

    1. Holladiewaldfee,

      die datei in die externe dateien eingebunden werden, muss die .php endung haben, sonst funzt der befehl nicht.

      Das mit der Dateiendung ist Sache der Webserver-Konfiguration. Aber im Normalfall hast Du Recht ;)

      Ciao,

      Harry

      --
        Die ideale Zeit für Firntouren:
        http://harry.ilo.de/projekte/berge/
      1. Hallo Ihr Beiden,
        danke für die Antworten.
        Meine Datei hat die Endung .php, es hat trotzdem nicht funktioniert.
        Ich rufe übrigens aus einer anderen php-Datei aus auf... liegt es vielleicht daran ?
        gruß
        andreas

        die datei in die externe dateien eingebunden werden, muss die .php endung haben, sonst funzt der befehl nicht.

        1. Vielleicht hilft das bei der Fehlersuche:

          Im ausgegebenen Code steht der unveränderte include-Befehl:

          <?PHP
          include("http://www.domain.de/log/menue.php");
          ?>

          1. Hi
            Welche php-version läuft auf deinem server? wenn kleiner als 4.3 funktioniert das einbinden von url`s garnicht. Wenn die version 4.3 oder höher ist, ist mas in der php.ini verstellt.

            http://www.php.net/manual/de/function.include.php

            http://www.php.net/manual/de/ref.filesystem.php#ini.allow-url-fopen

            tschüss

            1. Hallo,
              PHP 4

              Ich habe eben auch einmal mit 2 Testdateien überprüft, ob es geht:

              test.php:
              --------------
              <?PHP
              include("http://www.domain.de/test2.php");
              ?>
              --------------

              test2.php:
              --------------
              Inhalt
              --------------

              Es wird bei Aufruf von test.php "Inhalt ausgegeben - das heißt, der Server unterstützt es prinzipiell.

              hmmmm

              1. Ich glaube, ich weiss jetzt, woran es liegt...

                Der html-Code, indem ich über include Inhalt aus einer dritten Datei einbinden will, wird selbst von einer php-Datei mit anderem Code zusammengesetzt...
                Es ist also eine Verschachtelung...

                Im obigen Beispiel mit den beiden Test-Dateien bleibend, stände jetzt in der test2.php nochmal der include-aufruf von Inhalten aus test3.php - und das funktioniert wohl nicht.

                1. Hi,

                  ich frag mich warum die URL im include verwendet wird. Die Datei liegt doch sicherlich auf dem gleichen Server.

                  um nun verschachtelte incudes zu includen :-) mußt du in den includeten (wird ja immer besser) Dateien beim Pfad immer von der Datei ausgehen die den ersten include enthält oder du schreibst es so.

                  include($_SERVER['DOCUMENT_ROOT'] . '/lalal/blabla/andere.php');

                  1. Hallo,

                    ich frag mich warum die URL im include verwendet wird. Die Datei liegt doch sicherlich auf dem gleichen Server.

                    Das sehe ich genauso.
                    Eine relative Pfadangabe reicht in den meisten Faellen.

                    um nun verschachtelte incudes zu includen :-) mußt du in den includeten (wird ja immer besser) Dateien beim Pfad immer von der Datei ausgehen die den ersten include enthält

                    Genau. Steht uebrigens auch in der dclp-FAQ:
                    http://www.dclp-faq.de/q/q-datei-einbinden.html

                    Verschachtelte Includes (alles mit PHP) sind ueberhaupt kein Problem,
                    wenn man die Pfade richtig angibt.

                    Gruesse,

                    Thomas

                    --
                    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
                    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
                    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
                    1. Hallo,
                      ein relativer Link würde reichen, da habt ihr natürlich recht.

                      http://www.dclp-faq.de/q/q-datei-einbinden.html

                      Wenn ich mich nicht täusche, geht es da um verschachtelte Verzeichnisse. Bei mir geht es um verschachtelte Dateien (innerhalb eines Verzeichnisses).

                      include($_SERVER['DOCUMENT_ROOT'] . '/lalal/blabla/andere.php');

                      @Rene:
                      Da muß ich ne Weile drüber nachdenken... ;-)

                      Könntest Du das anhand des Beispieles mit den 3 Test-Dateien nochmal ausführlicher beschreiben ?

                      Ich gebe nochmal vor:

                      [test1.php]
                      Inhalt Test1
                      <?PHP
                      include("/test2.php");
                      ?>

                      [test3.php]
                      Inhalt Test2
                      <?PHP
                      include("/test3.php");
                      ?>

                      [test3.php]
                      Inhalt Test3

                      1. Hi,

                        $_SERVER['DOCUMENT_ROOT'] gibt das ROOT deiner HP zurück also da wo die index.??? liegt.

                        Und nun fügst du hinten nur noch den Rest des Pfades zur Datei an ausgehend vom ROOT-Verzeichnis. Dann ist es egal wann was welche Datei wie oder wo includet, da der Pfad immer stimmt.

                        Gruß
                        René

                        1. Hallo Rene,
                          vielen Dank soweit.

                          Ich habe das soeben mit meinen 3 test.php-dateien ausprobiert. Funktioniert wunderbar :-)

                          Aber leider kam sofort die Ernüchterung:
                          Über das Weblog funktioniert es nicht. *argh*

                          1. Hallo,
                            Problem gelöst.
                            Es lag tatsächlich am Weblog.
                            Die zusammengefügten Skinteile wurden nicht geparst ("The contents of the file is not parsed in any way, so you cannot use skin/templatevars or use PHP code").
                            Es gab aber eine Möglichkeit, intern zu "includieren".
                            Danke für Eure schnelle Hilfe !

                            gruß
                            andreas

                      2. Hallo,

                        Wenn ich mich nicht täusche, geht es da um verschachtelte Verzeichnisse.

                        Es geht dort darum, wie man die Pfade schreiben muss, wenn man verschachtelte
                        Includes anwendet und die Dateien dabei in verschiedenen Verzeichnissen liegen.

                        Bei mir geht es um verschachtelte Dateien (innerhalb eines Verzeichnisses).

                        Wenn alle Dateien im gleichen Verzeichnis liegen,
                        kannst Du ganz einfach die Dateinamen angeben,
                        _ohne_ irgendwelche Pfadangaben und Slashes:
                        include("test2.php");

                        Wenn Du willst, kannst Du das auch so schreiben:
                        include("./test2.php");
                        Beachte den Punkt vor dem Slash. Das heisst ebenfalls:
                        "Die Datei test2.php im gleichen Verzeichnis".

                        include($_SERVER['DOCUMENT_ROOT'] . '/lalal/blabla/andere.php');

                        Falls man den Pfad mit / beginnt, dann heisst das,
                        dass man beim "Root" des _Datei_systems beginnt.

                        Um diesen Pfad herauszufinden, kann man eben
                        die Variable $_SERVER['DOCUMENT_ROOT']
                        zuhilfe nehmen - die enthaelt den Anfang des Pfads.

                        Z.B. kann die Datei test1.php im Dateisystem hier liegen:
                        /home/andreas/public_html/unterverzeichnis/test1.php
                        Das Document Root waere:
                        /home/andreas/public_html/
                        Im HTML-Kontext waere - im SelfHTML-Jargon - der "absolute Pfad,
                        relativ zum Basis-URI" somit:
                        /unterverzeichnis/test1.php

                        Siehe auch:
                        http://selfhtml.teamone.de/html/allgemein/referenzieren.htm

                        Gruesse,

                        Thomas

                        --
                        Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
                        Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
                        Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/