include an jeder code-Position möglich ?
andreasw
- php
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)
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
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
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.
Vielleicht hilft das bei der Fehlersuche:
Im ausgegebenen Code steht der unveränderte include-Befehl:
<?PHP
include("http://www.domain.de/log/menue.php");
?>
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
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
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.
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');
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
Hallo,
ein relativer Link würde reichen, da habt ihr natürlich recht.
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
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é
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*
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
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