Aus gegebenem Anlass möchte ich hier mal darlegen, wie man unterschiedliche Dateien mit include einbindet, und dabei einen sicheren und vor allem wartbaren Code erhält.
Wie man sieht, besteht der Code aus 2 Teilen: einer Konfiguration und dem eigentlichen Code. Damit ist es deutlich leichter möglich, spätere Erweiterungen anzubringen oder evtl. weitere Sicherheitsprüfungen. Grüße Oesi Ich weiß, dass ich nicht weiß... (Sokrates)
(Dieser Beitrag wurde von oesi50 am 9. Jul 2007, 17:48 geändert)
Mit PHP per include verschiedene Dateien einbinden
require() is identical to include() except upon failure it will produce a fatal E_ERROR level error. In other words, it will halt the script whereas include() only emits a warning (E_WARNING) which allows the script to continue.
Übrigens ist bei rekursiven Include-Dateien (also Include-Dateien, die wiederum andere Include-Dateien includen), die Verwendung von require_once() bzw. include_once() sehr hilfreich.
Mit PHP per include verschiedene Dateien einbinden
Hm, ich versuche per include eine Wordpress-Seite in eine normale Seite (design.php) einzubinden. "allow_include_url" ist vom Provider gesperrt. Ich würde die Datei gerne lokal einbinden, aber Wordpress holt sich die Datei. von der Datenbank und somit habe ich nur einen Permalink zur Seite. Include mit lokalen Dateien kein Problem...
Beispiel: http://www.xxxx.com/wordpress/?page_id=1 Include: <?php define('INCLUDE_PATH','/home/www/user/html/'); /* [..] */ include(INCLUDE_PATH.'wordpress/?page_id=1'); ?> Auch hier komme ich nicht zum Ziel, da die Datei im "wordpress" Ordner gar nicht vorhanden ist...
Fehlermeldungen: Warning: include(/home/www/user/html/wordpress/?page_id=1) [function.include]: failed to open stream: No such file or directory in /home/www/user/html/design.php on line 42
Warning: include() [function.include]: Failed opening '/home/www/user/html/wordpress/?page_id=1' for inclusion (include_path='.') in /home/www/user/html/design.php on line 42
Wäre schön, wenn ich irgendwie weiter käme, denn mit Php5.2 geht es halt nicht mehr und ich will keinen iFrame benutzen...