php-include funktioniert nicht?

phil-ip

Erfahrenes Mitglied
...

<title>Unbenanntes Dokument</title>

</head>
<?PHP include("http://www.xxxxxxxx.de"); ?>
<body>
</body>
</html>
...

das ist ein ausschnitt aus meiner php datei. allerdings funktioniert die include funktion nicht, warum blos?

danke schon mal! phil
 
Nach 63 Beiträgen sollten Dir die verschiedenen Code-Tags bekannt sein :rolleyes:

Was funktioniert nicht?
Gibt es eine Fehlermeldung?
Hast Du die Warnung auf der Doku-Seite zu [phpf]include[/phpf] berücksichtigt?

include hat gesagt.:
Wenn "URL fopen wrappers" in PHP aktiviert sind (in der Standardkonfiguration ist das der Fall) können Sie als Pfad der einzubindenden Datei auch eine URL (via HTTP oder anderen unterstützen Wrappern - eine Liste der unterstützen Protokolle finden Sie unter Anhang M) statt einer lokalen Pfadangabe angeben. Falls der Zielserver die Zieldatei als PHP-Code interpretiert, können Sie an die einzubindende Datei Variablen in einem Request-String übergeben, genauso wie bei HTTP GET. Streng genommen ist das nicht das Gleiche, wie diese Datei einzubinden und diesem den Geltungsbereich des Vater-Skripts zu vererben; das Skript wird auf dem Remote-Server ausgeführt und danach wird das Ergebnis in das lokale Skript eingebunden.

Warnung
PHP Versionen kleiner 4.3.0 für Windows, erlauben den Zugriff auf Remote-Dateien mit dieser Funktion nicht, selbst wenn allow_url_fopen aktiviert ist.

Gruß hpvw
 
Ich hoffe, du kennst den Urheber der entfernten Ressource, Philip. Denn das ist ein riesen Schlupfloch für allerhand schlimme Dinge.
 
...

[...]
<?PHP include("http://www.xxxxxxxx.de"); ?>
[...]

das ist ein ausschnitt aus meiner php datei. allerdings funktioniert die include funktion nicht, warum blos?

Hi phil!

Du kannst mit include nicht einfach x-beliebige Adressen einfügen.

Wenn ich jetzt z.B. eine Datei test.php hab, in der steht...

Code:
<p>Hier kann stehen was will, ob HTML.... </p>
<?php
  echo "....oder auch PHP";
?>

...und dann eine index.php, in welche ich diese test.php includieren will - etwa so:

Code:
<html>
<head>
<title>Include-Test</title></head>
<body>
<?php include("test.php") ?>
</body>
</html>

Dann findet sich in der index.php nach dem Parsen folgendes:

Code:
<html>
<head>
<title>Include-Test</title></head>
<body>
<p>Hier kann stehen was will, ob HTML.... </p>
<?php
  echo "....oder auch PHP";
?>
</body>
</html>

D.h. es wird einfach der Inhalt von test.php eingefügt.

Jetzt stell dir das aber mal mit einer externen - und somit bereits verarbeiteten - Adresse vor. Das gäbe dann irgendwie so ein Konstrukt:

Code:
<html>
<head>
<title>Include-Test</title></head>
<body> 
  <html>
  <head>
   <title>Externe Seite</title>
  </head>
   <body>
       Ganz viel Inhalt, der externen Seite.
   </body>
   </html>
</body>
</html>

Siehst du das Problem?

Für das was Du machen möchtest, ist include() nicht die richtige Funktion. Du bräuchtest eher sowas wie iFrames oder so... aber da bin ich nicht so die Expertin.

Ich hoffe das hat Dir wenigstens auf Verständnisebene etwas weiter geholfen.

Liebe Grüsse und viel Glück

phoebe

PS: sollte ich jetzt völligen Quatsch erzählt haben, bitte ich die Experten mich zu korrigieren ^^
 
Zuletzt bearbeitet:
hi.

...und dann eine index.php, in welche ich diese test.php includieren will - ...

Kann es auch eine *.html sein? Habe gerade ein ähnliches problem. Wollte meine navi auslagern, doch ich seh sie nicht. Mein php counter allerdings funktioniert.

G amdbuster

p.s. so stehts in der html:

HTML:
<?php
  include ($_SERVER["DOCUMENT_ROOT"] . "../navi.php") ;
  ?>
 
Zuletzt bearbeitet:
Hi,
Kann es auch eine *.html sein?

speicher mal die HTML-Datei als PHP-Datei ab, damit der enthaltende PHP-Code vom PHP-Parser ausgeführt wird.

Falls es sich hier um einen Apache-Server handelt, kann auch diese Zeile in einer .htaccess-Datei angegeben werden, um auf dem Server HTML-Dateien vom PHP-Parser interpretieren zu lassen:
Code:
AddType application/x-httpd-php .htm .html


mfg Maik
 
hi.

als php kommt folgende Meldung:

Code:
Warning: include() [function.include]: open_basedir restriction in effect. File(/users/pixelmanie/www/../navi.php) is not within the allowed path(s): (/users/pixelmanie/temp:/users/pixelmanie/www) in /users/pixelmanie/www/vids/movi_ab.php on line 22

Warning: include(/users/pixelmanie/www/../navi.php) [function.include]: failed to open stream: Operation not permitted in /users/pixelmanie/www/vids/movi_ab.php on line 22

Warning: include() [function.include]: Failed opening '/users/pixelmanie/www/../navi.php' for inclusion (include_path='.') in /users/pixelmanie/www/vids/movi_ab.php on line 22

Soll das heisen das navi.php nicht gefunden wird, ist der befehl falsch?
In line 22 steht der include befehl(wie evtl schon mitbekommen ;)).

../navi.php habe ich mit "." & '.' probiert.

Muß jede Seite wo man php sachen aufruft auch als *.php speichern? D.h. ich habe am ende alles php Dateien ?!

g amdbuster
 
Moin.
als php kommt folgende Meldung:

Code:
Warning: include() [function.include]: open_basedir restriction in effect. File(/users/pixelmanie/www/../navi.php) is not within the allowed path(s): (/users/pixelmanie/temp:/users/pixelmanie/www) in /users/pixelmanie/www/vids/movi_ab.php on line 22
Soll das heisen das navi.php nicht gefunden wird, ist der befehl falsch?
Wenn einem diese Fehlermeldung nichts sagt, kann man dazu die Suchmaschine seines Vertrauens konsultieren.

:google: Warning: include() [function.include]: open_basedir restriction in effect

Versuch's hier mal mit einem absoluten Pfad, denn navi.php befindet sich im Verzeichnisbaum nicht über "DOCUMENT_ROOT" www/:
PHP:
<?php
  include ($_SERVER["DOCUMENT_ROOT"] . "/navi.php") ;
?>
Mit absoluten Pfadangaben relativ zum Basis-URI referenzieren

Muß jede Seite wo man php sachen aufruft auch als *.php speichern? D.h. ich habe am ende alles php Dateien ?!
Hast du meine gestrige Antwort übersehen? Oder ihre Aussage nicht verstanden?

HTML-Dateien werden zunächst mal vom HTML-Parser gelesen und ausgeführt, der keinen PHP-Code interpretiert, es sei denn, der Server ist so konfiguriert, diesen Dateityp vom PHP-Parser verarbeiten zu lassen.

mfg Maik
 
Zurück