Kann mehrmals verwendet werden
<?php include("navigation.php"); ?>
Nur einmal
<?php include_once("navigation.php"); ?>
Einbeziehung vom Stammverzeichnis
<?php
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/common/header.php";
include_once($path);
?>
Nur ein Punkt zur Klarstellung: include, include_once und require sind *keine Funktionen* und benötigen daher *keine Klammern um den Pfadnamen*.
Ich bin mir des Ursprungs dieser schlechten Angewohnheit nicht sicher.
Ich habe mich gerade gefragt, da ich es immer mit Klammern gesehen habe, aber heute habe ich irgendwo einen Code-Snippet gesehen, der keine hatte, also bin ich froh, dass mir das jetzt klar ist.
Danke!
Nun David, es ist offensichtlich eine Alternative zur Verwendung von Klammern und völlig optional, es macht es nicht richtiger oder falscher. Jemand könnte das gleiche Argument über Leerzeichen vor und nach Klammern und Doppelpunkten in CSS vorbringen.
Ich weiß, dass es optional ist, aber ich wette, dass Anfänger glauben, dass require und include Funktionen sind, wegen der Klammern. Meiner Meinung nach verursacht es Verwirrung.
Wenn Sie sich die offizielle Dokumentation ansehen, sehen Sie, dass die offiziellen Beispiele keine Klammern verwenden und sie warnen Sie auch vor der Verwendung von Klammern in bestimmten Situationen.
http://us.php.net/manual/en/function.include.php
Obwohl es keinen Unterschied macht, ob Klammern verwendet werden oder nicht. Aber es kann tatsächlich in manchen Situationen einen Unterschied machen. Besuchen Sie noch einmal den von David bereitgestellten Link und achten Sie auf Beispiel #5
http://php.net/manual/en/function.include.php
Ich habe auch einen Artikel geschrieben, der den Unterschied zwischen include und include_once, require etc. beschreibt.
http://www.techmug.com/php-basics-for-beginners/
Ich kann diesen Snippet in meiner WAMP-Installation nicht zum Laufen bringen. Möchte, dass dies funktioniert, damit ich meine Includes von anderen Verzeichnissen aufrufen kann.
Warning: include_once(C:/wamp/www//common/header.php) [function.include-once]: failed to open stream: No such file or directory in C:\wamp\www\yourhearing\index.php on line 4
Wenn ich die Zeile
include_once($path);entferne, funktioniert es für die Hauptindex.php, aber das funktioniert in keinem anderen Verzeichnis.Jede Hilfe wird geschätzt, DANKE.
VERZEICHNISSTRUKTUR
/inc
/js
/css
/img
index.php
Schon gut, ich hatte einen Tippfehler.
Ich habe immer noch ein Problem mit dem Einbinden meines CSS und JS für meine anderen Seiten. Ich möchte meine Domain.com/anderepage/ eingeben und mein CSS und JS per Include mit head.php einbinden, aber wenn es den Kopf einbindet, zeigt es nur den Inhalt und nicht die Formatierung oder das JS an. Irgendwelche Ideen?
Ich habe das gleiche Problem wie Digitalvaldosta. Der Inhalt wird angezeigt, aber nicht das JS oder CSS.
Hey, ich liebe dein Theme, Mann
Bei Verwendung von include ohne Klammern wurde mein CSS nicht angezeigt, als ich Klammern hinzufügte, funktionierte alles perfekt!
Sehr interessanter und erfrischender Artikel.
Ich habe in der Vergangenheit include verwendet, aber jetzt möchte ich es in einem responsiven Design verwenden und es funktioniert überhaupt nicht.
Meine include-Zeile ist
http://codepen.io/anon/pen/YXXZMw.html
Mein footer.php befindet sich im selben Ordner
…
http://codepen.io/anon/pen/waaJOe.html
…
Die Seite zeigt überhaupt keinen Footer an
:(
Das klingt jetzt RICHTIG dumm, aber sind dynamische Includes noch eine Sache?