Olaf: Dateien, die von PHP eingebunden werden?

Moin

Sagtmal ist es Pflicht, Dateien, die man in PHP per include oder require einbinden irgendwas.inc.php zu nennen? Ist dieses inc irgendwie wichtig oder was? Ich nenne meine jedenfalls immer nur name.php

  1. Hallo!

    Sagtmal ist es Pflicht, Dateien, die man in PHP per include oder require einbinden irgendwas.inc.php zu nennen? Ist dieses inc irgendwie wichtig oder was?

    Die Dateien müßen die Endung bekommen, die vom Webserver als PHP-Dateien betrachtet werden. Das inc setzt man im Dateinamen mit rein, damit man Dateien erkennt die includiert werden, also kein "Hauptscript" ist. Das kann bei sehr vielen Scripten/Dateien die übersicht fördern. Du kannst den Dateinamen alle Includedateien mit einem inc oder was auch immer begonnen oder gar kein inc...

    MfG, André Laugks

    --
    L-Andre @ gmx.de
    1. Hello,

      Du kannst die Dateien auch

      rödelschönmitweißnichwas08_15.blah.blubb

      nennen. Sie werden als reine Textdateien behandelt und an die Stelle im Script gestellt, an der der include-Aufruf erfolgt.

      Drei Gründe sprechen aber dafür, sie *.inc.php zu nennen:

      1. Es ist so üblich, hat sich eingebürgert, ist sinnvoll und deshalb sollte man es ruhig annehmen

      2. Die Endung .php schützt die Datei davor, aus versehen ausgeliefert zu werden an den Browser, ohne vorhr geparst zu werden.

      3. das Mittelteil .inc. schützt Dich vor Unachtsamkeit und erinnert Dich daran, dass diese Datei bei Aufruf/Einbidung keinerlei HTML-Ausgaben produzieren darf

      Man muss nicht alles anders machen, als alle anderen.

      Grüße

      Tom

    2. Ok, verstehe, danke.

      Mir persönlich gefällt das inc nicht, wenns wirklich so viele sind, dass die Übersicht flöten geht, kommen sie eben in einen eigenen Ordner.
      .php ist sowieso immer die Endung, dass die sonst als Text oder Download ausgegeben werden ist mir klar :)

      Blöd wirds nur dann, wenn mal der PHP Parser streikt.

      1. Hello,

        Blöd wirds nur dann, wenn mal der PHP Parser streikt.

        Dafür stellt man die Dateien ja auch außerhalb der Doc-Root ab. PHP hat extra einen include_path, unter dem die fertigen Include-Dateien liegen sollten. Dort wird automatisch geschaut, wenn die angeforderte Datei im aktuellen Verzeichnis nicht zu finden ist.

        Leserechte muss der Apache auf das Include-Verzeichnis selbstverständlich haben

        Und wenn der Parser streikt, kann diese Datei auch nicht geladen werden.

        Grüße

      2. Hallo!

        Mir persönlich gefällt das inc nicht, wenns wirklich so viele sind, dass die Übersicht flöten geht, kommen sie eben in einen eigenen Ordner.

        Mach wie Du es möchtest und Dich am besten zurecht findest.

        .php ist sowieso immer die Endung, dass die sonst als Text oder Download ausgegeben werden ist mir klar :)

        Das hat was mit dem Browser zu tun, wenn PHP am Webserver nicht richtig konfiguriert ist.

        Blöd wirds nur dann, wenn mal der PHP Parser streikt.

        Der Parser wird nicht streiken. Es kann höchstens sein, das PHP am Webserver (Apache/IIS/etc.) nicht richtig konfiguriert ist und PHP-Dateien nicht durch den "PHP-Parser" gejagt werden.

        MfG, André Laugks

        --
        L-Andre @ gmx.de
  2. Hallo,

    Sagtmal ist es Pflicht, Dateien, die man in PHP per include oder require einbinden irgendwas.inc.php zu nennen?

    Nein. Wer erzaehlt denn sowas?

    Die Endigung .inc.php soll es vermutlich dem vergesslichen Autor
    erleichtern, zu unterscheiden, welche Dateien vollstaendige Skripts sind,
    und welche bloss Includes.

    Es spielt _eigentlich_ keine Rolle, wie Du die Includes nennst.

    Es spielt nur dann eine Rolle, wenn ein "Lausbub" versucht, die Includes direkt abzurufen.
    http://www.example.com/name.inc  => Apache liefert vermutlich den Quelltext als text/plain aus.
    http://www.example.com/name.php  => Apache liefert nichts aus, es sei denn,
        Du hast irgendwelche print/echo-Ausgaben oder HTML-Bereiche in dem Include.

    Deshalb sollten alle Dateien, die Passwoerter u.s.w. enthalten, auf .php enden.
    Der Rest ist Kosmetik.

    Gruesse,

    Thomas

  3. Hallo!

    Sagtmal ist es Pflicht, Dateien, die man in PHP per include oder require einbinden irgendwas.inc.php zu nennen? Ist dieses inc irgendwie wichtig oder was? Ich nenne meine jedenfalls immer nur name.php

    Die Dateien könnne heißen wie sie wollen. Nur weil sie eben eingebunden werden verwendet man oft die Endung "inc" und weil Dateien mit der Endung "inc" bei direktem Zugriff durch den Browser nicht durch den PHP-Interpreter geschickt werden, hängt man zur Sicherheit noch "php" hinten dran, denn was wenn Du in der "inc" Datei Deine DB-Zugangsdaten hast, wenn die Datei dann direkt aufgerufen wird, würde sie nicht geparst, und der Browser bekäme den Quelltext der Datei zu sehen - nicht so gut.

    btw. solche Dateien sollte man sowieso nicht über HTTP zugänglich ablegen.

    Grüße
    Andreas

  4. hi,

    Sagtmal ist es Pflicht, Dateien, die man in PHP per include oder require einbinden irgendwas.inc.php zu nennen?

    nein, es ist nur recht gebräuclich. verpflichtet bist du aber zu nichts.

    Ich nenne meine jedenfalls immer nur name.php

    .php als endung solltest du aber unbedingt beibehalten, egal ob du nochwas anderes davor setzt oder nicht.
    denn wenn ansonsten jemand eine datei die nur passwoerter.inc heisst über den browser anfordert, wird diese nicht durch den php-parser geschickt, und er bekommt die passwörter im klartext zu sehen ...

    gruss,
    wahsaga

  5. Hallo Olaf,

    Sagtmal ist es Pflicht, Dateien, die man in PHP per include oder require einbinden irgendwas.inc.php zu nennen? Ist dieses inc irgendwie wichtig oder was? Ich nenne meine jedenfalls immer nur name.php

    nein, du kannst die Dateien nennen, wie du willst - aber wenn du sie in der Form name.inc.php benennst, weißt du, dass das eine Datei ist, die eingebunden wird. Du könntest dass .php auch weglassen, und die Datei nur mit name.inc "benamsen" was allerdings den Nachteil hätte, dass der Code als Klartext an den Browser ausgegeben würde - deswegen ist das .php hintendran zu empfehlen.

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|