00 Stimmen

Hintergrundgrafik in eine PHP Datei einbinden

Frage von Alaska1966 | 15.07.2022 um 07:48

Hallo Leute, ich habe versucht in eine PHP Datei ein Hintergrundbild einzubinden. Bei HTML kein Problem :-)

Doch bei PHP bekomme ich immer 500 Error.

 Ich habe es mal damit versucht, doch das klappt irgendwie nicht.

<?
header ("Content-type: image/jpg");
$im = imagecreatefrompng("back1.jpg");
$background_color = ImageColorAllocate ($im, 255, 200, 255);
$text_color = ImageColorAllocate ($im, 233, 14, 91);
ImageString ($im, 2, 100, 15, "Testtext", $text_color);
ImageJPG ($im);
imagedestroy($im);
?>

Das Bild liegt im Verzeichnis  /images/back1.jpg

Und soll in diese Datei

Wenn mir jemand helfen könnte würde ich mich freuen

Gruß Peter und bleibt Gesund

AntwortenPositivNegativDatumStimmen
00 Stimmen

Also zunächst musst du am Anfang "<?php" statt einfach nur "<?" schreiben. Sonst wird dein Code nicht als PHP interpretiert sondern als Text ausgegeben.

Die nächste Frage wäre wieso du imagecreatefrompng schreibst obwohl du ein JPG-Bild und kein PNG-Bild hast übergibst.

Dann sagst du das Bild ist im Verzeichnis "/images/back1.jpg" aber du übergibst nur "back1.jpg".

Weiterhin hast du viele der Funktionen falsch geschrieben (Großbuchstaben statt Kleinbuchstaben).

Hier mal ein Beispiel wie es aussehen könnte:

<?php
header("Content-type: image/jpg");
$im = imagecreatefromjpeg("back1.jpg");
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 2, 100, 15, "Testtext", $text_color);
imagejpeg($im);
imagedestroy($im);
?>

Klappt es so?
15.07.2022 um 16:26

AntwortenPositiv Negativ
00 Stimmen

Danke, ich werde es gleich mal versuchen

Hat leider nicht geklappt, habe zwar keine 500 Error bekommen.

 Fehlermeldung kann nicht angezeigt werden, weil es Fehler enthält.

Und dann der Pfad der Datei
16.07.2022 um 03:06

AntwortenPositiv Negativ
00 Stimmen

Wie lautet denn die Fehlermeldung genau?

Ich habe den Code so wie ich ihn gepostet habe auf meinem Server getestet und das Bild wird ohne Fehlermeldung angezeigt.

Vielleicht fehlen bei dir auf dem Server die nötigen Bibliotheken für die Bildbehandlung.
16.07.2022 um 04:04

AntwortenPositiv Negativ
00 Stimmen

Wenn, ich das so mache wie du es beschrieben hast. Dann geht es. Aber ich möchte das als Hintergrund. Ich habe die Datei mal ungeschrieben.

header("Content-type: image/jpg");
$im = imagecreatefromjpeg("back1.jpg");
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 2, 100, 15, "Testtext", $text_color);
imagejpeg($im);
imagedestroy($im);
require_once (dirname(__FILE__).'/core/init.php');

list($id, $template, $popup) = GET('id, template, popup');

$id = cn_id_alias($id);

if (!$template) $template = 'default';
$ent = db_news_load(db_get_nloc($id));

if (isset($ent[$id])) {
   echo "<span style="color:#000080">&lt;html&gt;</span>
         <span style="color:#000080">&lt;head&gt;</span>
         <span style="color:#800080">&lt;style&gt;</span>        
      body { margin: 0; padding: 0; }
      body, td {
          font-family: verdana, arial, sans-serif;
          color: red;
          font-size: 12px;
          font-weight: normal;
          line-height: 1.3em;
      }
      input { border-radius: 3px; }
      input.text { background: #ffffff; border: 1px solid gray; }
      input.submit { background: #f0f0f0; border: 1px groove #808080;}
      input.submit:hover { background: #ffffff; cursor: pointer; }
      .cn_comm_textarea { width: 450px; height: 150px; }
      <span style="color:#800080"></style></span>
      <span style="color:#000080">&lt;/head&gt;</span>
      <span style="color:#000080">&lt;body&gt;</span>";
   if ($popup == 'comment') $subaction = 'only_comments';
   include SERVDIR . '/show_news.php';
   echo "<span style="color:#000080">&lt;/body&gt;</span>
   <span style="color:#000080">&lt;/html&gt;</span>";
} else {
   echo i18n("ID not found for active news");
}

So bekomme ich die Fehlermeldung (Kann nicht dargestellt werden).
17.07.2022 um 01:09

AntwortenPositiv Negativ
00 Stimmen

Das kann man so nicht mischen.

Mit header("Content-type: image/jpg") sagst du dem Browser, dass die Bytes die jetzt kommen als Bild interpretiert werden sollen. Danach kannst du also nicht einfach HTML-Code ausgeben.

Wieso willst du das Bild denn überhaupt mit PHP auslesen? Schreibe doch einfach in deinen PHP-Code sowas wie:

echo '<img src="back1.jpg">';

Das wäre doch viel einfacher.
17.07.2022 um 03:06

AntwortenPositiv Negativ
00 Stimmen

Jau Danke, das ist mir heute Nacht auch eingefallen.

Funz

Danke an alle!
17.07.2022 um 13:14

Positiv Negativ
Antworten
Antworten

Ähnliche Themen

CSS Stylesheets in HTML einbinden

Tutorial | 0 Kommentare

PHP: Datei Download Skript

Tutorial | 0 Kommentare

PHP: Upload großer Dateien

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.