kostenloser Webspace werbefrei: lima-city


include() oder require()

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    xi-blog

    xi-blog hat kostenlosen Webspace.

    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?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Bei require bricht das Skript an der Stelle ab, wenn die Datei nicht gefunden wurde
    include gibt nur einen Fehler aus
  4. 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.
  5. Autor dieses Themas

    xi-blog

    xi-blog hat kostenlosen Webspace.


    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?
  6. http://de2.php.net/manual/de/function.include.php
    http://de2.php.net/manual/de/function.require.php

    Lesen und ausprobieren!
    Im Erfolgsfall wird im allgemeinen "true" zurückgegeben, im Fehlerfall "false" - warum sollte es anders sein?




    gruß
    ferdinand24
  7. 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..
  8. Autor dieses Themas

    xi-blog

    xi-blog hat kostenlosen Webspace.


    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
  9. 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.
  10. t*****b

    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";
    }
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!