Wie Bild mit Dateipfad in PHP?

4 Antworten

Dieses liegt an einen anderen Ort als die PHP Datei.

bäh.... ein Wort falsch gelesen und schon bin ich auf einem völlig falschen Weg.

verwende den Absoluten Pfad zu der Bilddatei, wenn du mit dem relativen Pfad nicht hingelangst.


Huass 
Fragesteller
 16.06.2023, 17:00

absoluter Pfad? Wäre es möglich mir ein Beispiel zu zeigen?

0

a) Wenn das Bild im Webrootverzeichnis liegt, kannst du einen absoluten Pfad verwenden. Entweder mit vorangestellter Domain:

https://www.yourdomain.de/folder/to/image.jpg

oder ohne:

/folder/to/image.jpg

Der Pfad geht stets vom Rootverzeichnis aus. Ein Slash führt einen Verzeichniswechsel (Öffnen des Verzeichnisses) an.

b) Du kannst einen absoluten Verzeichnispfad angeben. Wenn das Bild außerhalb des Webrootverzeichnis liegt, muss der Webserver allerdings Leserechte darauf haben.

Die Pfadangabe startet stets beim obersten Verzeichnis deines OS. Bei Windows OS wäre das beispielsweise der Name der Festplatte:

c:/folder/to/image.jpg

c) Du kannst einen relativen Verzeichnispfad angeben. Dieser startet von dem Verzeichnis aus, in dem die Datei liegt, die auf das Bild zugreifen möchte.

Szenario 1: Das Bild liegt im selben Ordner wie die PHP-Datei.

image.jpg

oder

./image.jpg

(. deutet auf das aktuelle Verzeichnis)

Szenario 2: Das Bild liegt in einem Unterverzeichnis von dem Verzeichnis, in dem die PHP-Datei liegt.

subfolder/image.jpg

oder

./subfolder/image.jpg

Szenario 3: Das Bild liegt in einem übergeordneten Verzeichnis.

root
  - folder
    - script.php
  - image.jpg

Mit .. kannst du in das übergeordnete Verzeichnis (hier: root) springen.

Szenario 4: Das Bild liegt in einem Parallelverzeichnis.

root
  - folder
    - script.php
  - other
    - image.jpg

Erst wird in das obere Verzeichnis gewechselt und von dort das Verzeichnis mit dem Bild geöffnet.

../other/image.jpg

Wenn das Bild außerhalb des Webrootverzeichnis liegt, muss der Webserver Leserechte darauf haben.

Eventuell kann noch die Information hilfreich sein, dass es in PHP die magische Konstanten __DIR__ und __FILE__ gibt, die entweder den Verzeichnisnamen oder den absoluten Dateipfad zum ausgeführten PHP-Skript liefern. Mit:

dirname(__FILE__);

erhältst du den absoluten Verzeichnispfad zum PHP-Skript.

Dieses liegt an einen anderen Ort als die PHP Datei. Wie gebe ich den Dateipfad an?
echo "<img src='http://www.example.org/bilder/meinbild.jpg' alt=''>";

Alex