PHP: include vs. require

  • #1
M

Michael_B

Bekanntes Mitglied
Themenersteller
Dabei seit
21.09.2002
Beiträge
860
Reaktionspunkte
0
Ort
Köln
Hi

wo eigentlich besteht genau der Unterschied zwischen include und require bei PHP? Und was bedeutet dann include_once und require_once?

Das was ich bisher darüber gelesen habe, hab ich nicht wirklich verstanden. Wär schön, wenn mir jemand das mal erklären könnte. In der hinsicht bin ich echt Laie... ::)
 
  • #3
_once steht für einmal, d.h. es wird nur einmal eingebunden/verlangt

include(_once) -> wird versucht einzubinden, wenns net geht kriegste nen error, script läuft weiter
require(_once) -> wird versucht einzubinden, wenn nicht da, bekomsmte fatal error, script wird nicht ausgeführt.
 
  • #4
Hiho,

danke schonmal. Noch was genauer: Wird require mit einem fatal error + skriptabbruch reagieren, auch wenn z. b. ein Syntaxfehler in der verlangten Datei ist, oder nur dann, wenn es die Datei selbst betrifft (also z. B. wenn ich eine Datei require, die nicht vorhanden ist)?

xeen schrieb:
_once steht für einmal, d.h. es wird nur einmal eingebunden/verlangt

@xeen: könntest du mir zum _once mal ein kleines beispiel geben? Ich hab noch nicht gecheckt, was es bedeutet, wenn eine Datei nur einmal eingebunden bzw. verlangt wird... wenn ich in nem Skript (z. B. index.php) ganz oben erstmal meine separaten Funktionen (functions.php) einbinde, mach ich das doch auch nur einmal...

Fühl mich langsam von meinem Intellekt betrogen :-[ ;D

Grüße und nen schönen Vatertag noch

Michael.
 
  • #5
require prüft nur ob die datei vorhanden ist. hast du einen syntaxfehler in der datei kriegste sowieso fatal error.

include_once(test.php);
include_once(test.php);
include_once(test.php);
include_once(test.php);

wird nur einmal eingebunden


angenommen du hast ein script bei dem du in einer datei eien suchbox hast. diese soll nur einmal angezeigt werden. Diese soll eigentlich immer unten sein, aber manchmal willst du sie auch oben haben:

if($oben) include_once(suche.php);
//text+funktionen

//wenn jetzt noch keine suche war..
include_once(suche.php);
// wird eingebunden ansonsten net


Das praktischste an include once ist: Du hast eine Oberdatei und lädst inhalte anderer Dateien per require/include.
index.php -> die datei in die included wird (wenn eingeloggt wird zugang gewährt ansonsten pw abfrage)
geschützte_datei.php -> datei darf nur aufgerufen werden mit gültigem login

wenn jemand die geschützte_datei.php jetzt direkt aufruft kommt er ja an sie ran ohne eingeloggt zu sein. du bindest in beide dateien z.b. per require_once eine login.php ein die sicherstellt das man eingeloggt ist.
Vorteile dadurch (gegebüber require()):
- Die Datei wird nur einmal bearbeitet -> spart ressourcen
- wenn Funktionen in der Datei defeniniert sind dann gibt's keine fehler.
 
  • #6
Aha... jetzt ist der Groschen gefallen *KLING!!!*

Dankeschön....
Schönes (vielleicht sogar verlängertes) Wochenende

M.
 
Thema:

PHP: include vs. require

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.839
Beiträge
707.962
Mitglieder
51.492
Neuestes Mitglied
Janus36
Oben