include() oder require()
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abbruch
abfangen
ausgeben
ausgegeben code
befehl
benutzen
code
datei
einbinden
einleiten
entstehen
fehler
http
manual
nutzen
rest
stelle
unterschied
warnmeldung
wichtige datei
-
Hallo,
irgendwie verstehe ich nicht ganz den Unterschied zwischen include und require. Bei require wird es beim Aufruf der PHP Seite eingefügt. Bei include erst, wenn das Ausführen an die Stelle gelangt ist. Was ist daran der Unterschied? Was bringt es, wenn das Script erst bei 1/4 der Seite abbricht statt gleich am Anfang? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Es geht nicht darum, was der Script-Abbruch mit require() bringt, sondern darum, welchen Nutzen dir include() liefert: Du kannst nämlich den Rückgabwert abfangen und entsprechende Gegenmaßnahmen einleiten -- etwa eine andere Datei einbinden, wenn eine bestimmte nicht gefunden werden konnte. Wer das nicht braucht, sollte require() benutzen, denn mit include() hagelt es ansonsten nur Folgefehler.
-
Es geht nicht darum, was der Script-Abbruch mit require() bringt, sondern darum, welchen Nutzen dir include() liefert: Du kannst nämlich den Rückgabwert abfangen und entsprechende Gegenmaßnahmen einleiten -- etwa eine andere Datei einbinden, wenn eine bestimmte nicht gefunden werden konnte. Wer das nicht braucht, sollte require() benutzen, denn mit include() hagelt es ansonsten nur Folgefehler.
Was ist denn der Rückgabewert? true und false? -
Nimmst du require, dann bricht das Skript ab, wenn die Datei nicht geöffnet werden kann.
Nimmst du include, dann kommt nur eine Warnmeldung, der Rest vom Script wird aber abgearbeitet. So können viele Fehler entstehen, wenn auf Dinge aus der Include zugegriffen werden soll.
Willst du, dass eine andere Datei eingebunden werden soll, wenn eine fehlt, dann kannst du das mit Include machen..:
<?php if(!include("datei_eins.php")) include("datei_zwei.php"); ?>
Den Effekt von Require kannst du auch mit Include nachbilden..:
<?php include("wichtige_datei.php") or die("Wichtige Datei nicht gefunden! Abbruch!"); ?>
BTW der Name "require" sagt auch schon den Sinn.. Require bedeutet auf Deutsch "erfordern"..
Es gibt auch noch require_once und include_once.. Die funktionieren jeweils genauso wie require bzw include, nur dass die Datei nur einmal eingebunden wird, egal wie oft man den Befehl aufruft.. -
Nimmst du include, dann kommt nur eine Warnmeldung, der Rest vom Script wird aber abgearbeitet. So können viele Fehler entstehen, wenn auf Dinge aus der Include zugegriffen werden soll.
<?php if(!include("datei_eins.php")) include("datei_zwei.php"); ?>
Wird bei deinem Quelltext auch eine Warnmeldung ausgeben, wenn datei_eins.php fehlt?
Beitrag geändert: 12.10.2008 17:10:34 von xi-blog -
Kommt darauf an, ob in der php.ini Error Reporting an oder aus ist.
Du kannst immer auch selbst diese Warnung ausgeben, wenn du willst mit echo. -
Wenn man Seiten ins Internet stellt, sollte man immer das error_reprting aus stellen (error_reporting(0); ), da man sonst mit Hilfe der Meldungen potentielle Sicherheitslücken ausfindig machen kann.
Fehlermeldungen unterdrücken: ein @ vor die Funktion:
@include("diesedateigibtesnicht"); // es wird keine Fehlermedlung ausgegeben
oder überprüfen ob die Datei vorhanden ist:
if (file_exists("meinedatei.blubb")) { inlcude("meinedatei.blubb"); } else { echo "Datei wurde nicht gefunden"; }
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage