dedlfix: file_get_contens lokale Datei wie URL Ausgabe

Beitrag lesen

Tach!

gibt es eine Möglichkeit lokale Dateien mit zb. file_get_contens() zu handhaben wie eine URL Angabe?

Ja, nützt dir aber in deinem Fall nichts. Ausgehend von der Dokumentationsseite zu file_get_contents() solltest du etwas nach unten rollen und dort dem Verweis auf Supported Protocols and Wrappers folgen. Da sind sie alle aufgelistet, die echten und unechten Protokoll-Angaben, unter anderem file://.

Ich binde eine variable PHP Seite mit HTML Ausgabe in ein Script ein. Einige Werte dieser Datei ändern sich je nach URL-Parameter.
Binde ich nun diese Datei per file_get_contens('xy.php') ein, bringt das nichts. Als file_get_contens('xy.php?name=Sonja'), kommt es natürlich zu einem Fehler. Nur file_get_contens('http://domain.xyz/xy.php?name=Sonja'), bringt das gewünschte Ergebnis.

Das Dateisystem unterstützt keine Übergabe von Parametern auf diese Art und Weise. Über http:// zu gehen erzeugt einen neuen Request inklusive dessen Wasserkopf.

Ein Parameter nützt dir außerdem bei file_get_contents('file://...') und anderen dateilesenden Funktionen nichts, weil dabei keine Ausführung stattfindet. Du bekommst den Inhalt, so wie er in der Datei steht geliefert. Wenn dieser Code enthält, der ausgeführt werden soll, wäre include/require angebracht. Und auch dafür brauchst du keine Parameterübergabe, weil der Code im aktuellen Kontext ausgeführt wird, also auf alle schon vorhanden Variablen zugreifen kann.

Vielleicht solltest du darüber nachdenken, lieber Funktionen zu erstellen.

dedlfix.