PHP Datei in HTML einfügen (mit Bild)

QUEST08

Erfahrenes Mitglied
Einen wunderschönen Guten Morgen ersteinmal,

ja ich bin neu hier. In erster Linie, weil ich eine Frage habe und einfach nicht vorwärts komme. Nun zu meinem Problem:

Ich habe z.B. eine HTM(L) Datei. In diese Datei möchte ich nun ein Bild inkl. PHP Code einfügen bzw. nur das Bild aber so, dass gleichzeitig der PHP Code ausgeführt wird:

datei.html:
<img src"datei.php?id=1">

datei.php:
<?php
echo "<p align=\"center\"><img src=\"images/c_1.jpg\">";

$var = $id;
BLABLA
?>

Leider wird weder das Bild angezeigt, noch der Code ausgeführt. Es wird auf der datei.html
nur ein typisches "nicht-gefunden-bild" (rotes kreuz) ausgegeben.

Weiß da jemand weiter?

Liebe Grüße!
 
<img src="datei.php?id=1">

datei.php:
<?php
echo "<p align=\"center\"><img src=\"http://www.tutorials.de/forum/images/c_1.jpg\">";

$var = $id;
BLABLA
?>

So macht das keinen Sinn. Das src Attribut verlangt einen Pfad direkt zum Bild nicht wie bei dir einen Text in dem irgendwo der Pfadr steht.
Wenn du es so:
PHP:
<img src"datei.php?id=1">
machen möchtest, müsste deine datei.phg ungefähr so aussehen:
PHP:
// irgendwie mit der Id den dateinamen rausfiltern. Und in $path schreiben.
$img = imagecreatefromjpeg($path);
//vllt etwas mit dem Bild machen, verkleinern, filter drüber legen oder sonstwas.
//dann ausgeben und direkt an der Browser schicken.
imagejpeg($img, '', 100); // erst die Bildressource, dann den Pfad (muss leer bleiben, weil du es direkt ausgibst), dann die Qualität (hier 100)
 
hallo hubbl,

vielen dank für deine antwort.

ich habe aktuell in der html datei:
PHP:
<img src"datei.php?id=1">

und die datei.php sieht jetzt so aus:
PHP:
$path = echo "http://www.tutorials.de/forum/images/c_1.jpg";

$img = imagecreatefromjpeg($path);

$imgv =imagejpeg($img,'',100);

echo $imgv;

leider klappt das nicht, also immernoch ein rotes kreuz (bild nicht da)

stimmt der code so überhaupt? hatte bisher noch nie etwas mit bildern in php zu tun.

EDIT: habe gerade ein passendes beispiel gefunden. auf ipcounter*de wird z.b. ein code angeboten, indem eine php datei
als bild geladen wird in verbindung mit einen php code. genau so etwas würde ich benötigen. wie gesagt, leider geht bisher nichts.

liebe grüße
 
Zuletzt bearbeitet:
PHP:
<img src"datei.php?id=1">

Wenn das so in deiner HTML-Datei steht funktioniert es sicher nicht. Setz mal ein = hinter src:

PHP:
<img src="datei.php?id=1"/>
 
Ok, es liegt wahrscheinlich daran, dass die php Datei nicht als Bild interpretiert wird.
Probier das hier mal, dann sollte es klappen.

PHP:
$id = (int) htmlentities($_GET['id']);

if ($id == '1') {
	$verzeichnis = opendir("images");
	$file = "images/c_1.jpg";
}

header("Content-type: image/jpeg"); 

readfile($file);
closedir($verzeichnis);
 
WOW - Das geht. Ich glaubst ja nicht...

sehe ich das richtig, dass wenn ich z.b. ein bild bei php anzeigen lassen möchte, dass ich dann immer einen header mitsenen muss?

jetzt noch eine frage: kann ich nach ausgabe des bildes mit der id z.b. weiterarbeiten und einen php code ausführen, oder soll ich dies zuerst machen und dann das bild ausgeben?

TAUSEND Dank nochmal!
 
WOW - Das geht. Ich glaubst ja nicht...

sehe ich das richtig, dass wenn ich z.b. ein bild bei php anzeigen lassen möchte, dass ich dann immer einen header mitsenen muss?

jetzt noch eine frage: kann ich nach ausgabe des bildes mit der id z.b. weiterarbeiten und einen php code ausführen, oder soll ich dies zuerst machen und dann das bild ausgeben?

TAUSEND Dank nochmal!

Frage eins: Das siehst du richtig! Ist ja auch klar. Der Header ist standardmäßig HTML und nicht Bild. Wenn du also willst dass eine php Datei als Bild interpretiert wird muss diese php-Datei natürlich vorgauckeln sie sei eins.

Frage zwei: Du kannst innerhalb der datei.php ganz normal mit der ID weiterarbeiten und auch unterhalb deines Bildes die id mittels $_GET weiterverarbeiten.
 
wow, das ist ja sehr cool. danke nochmal für eure und vor allem deine unterstützung.

da ich ja jetzt hier angemeldet bin, werde ich auch zukünftig fragen, wenn ich mal absoulut nicht mehr weiter weiß.

Liebe Grüße
 
Zurück