Include. Datei liegt außerhalb von Document_Root

Hallo.

Wenn man etwas aus der Ebene oberhalb des *Document Root* einfügen möchte kann man das wohl nur mit Text recht einfach realisieren.
Bekomme es aber nicht hin auch Grafiken mit in die Seite einzubinden.

Meine Ordner auf dem Server sehen folgendermaßen aus:

___/home/Kunde/html/Domainname/hier ist die Webseite
___/home/Kunde/html/daten/hier drin sind Daten

Schreibren kann ich nur bis zum Ordner *html*. Kann also _in_ html weitere Ordner erstellen. In meinem Kundenordner allerdings nicht mehr.

Der Ordner „daten“ liegt ja außerhalb. Es kann also nichts per URL aufgerufen werden. Jetzt habe ich darin noch Bilder die auf einer Seite mit angezeigt werden sollen. Dieser Teil der Webseite wird durch ein Passwort geschützt und ist nur einem bestimmten Personenkreis zugänglich.

Ich hab es so versucht. Es wird aber nicht angezeigt. Nur *bild* ist zu lesen.

$ordner = $\_SERVER['DOCUMENT\_ROOT'];

echo "";
?\>

Ausgegeben wird im Quelltext nur:

Das selbe bei basedir:

$basedir = "/home/xxx/html/daten";

echo "";
?\>

ebenfalls gehts nicht mit:

$ordner = $\_SERVER['DOCUMENT\_ROOT'].'/../daten';

echo "
";

Gibt auch nur *bild* aus und der Quelltext sagt:

Der Pfad stimmt. Denn Text kann ich einbinden.

Habe schon in dem Ordner in dem die Bilder liegen eine .php (bild.php) erstellt die ein Bild einbindet und Text enthält. Diese dann mit *include* eingebunden. Bekomme aber da aber nur die Textausgabe raus.

Auf was muss ich denn nun achten wenn auch Grafiken mit verwendet werden sollen?

Wie nennt sich das genau und wo finde ich Infos dazu?
Nicht einfach mit dem Suchen wenn man nicht genau weiß nach was man genau suchen muss.
Oder gibt es schon einen passenden Codeschnipsel dazu?

Viele Grüße

Hallo

Wenn du Text per include einbindest, dann passiert das auf dem Server. Bilder werden aber erst vom Browser eingebunden. Das bedeutet, dass der Browser auch irgendwie an das Bild rankommen muss. Du wirst die Bilder also innerhalb des Ordners Domainname lagern müssen.

Wenn du die Seite per .htaccess mit Passwort schützt, dann kannst du ja einfach die Bilder mit in den geschützen Ordner legen.

Wenn die Passwortabfrage mit PHP gebaut ist, dann kannst du die Bilder auch lassen wo sie sind und in den Domainordner eine php-Datei bild.php legen:

<?php $ordner = '/home/Kunde/html/daten/bilder/';<br />$bild = $\_GET['bild'];

//Sicherstellen, dass nur die Bilder aus dem Bilderverzeichnis ausgegeben werden.
$bild = str\_replace('/','',$bild);

if (is\_readable($ordner.$bild))
{
 header('Content-type: image/'.substr($bild,(strrpos($bild,'.')+1)));
 readfile($ordner.$bild);
}
else
{
 header("HTTP/1.0 404 Not Found");
}
?\>

Die Passwortüberprüfung müsste man da noch irgendwie reinbauen.

sigterm