Die meisten Inhalte von Webressourcen werden heute dynamisch durch serverseitige Skripte generiert. Auf diese Weise werden jedoch meist Textinformationen angezeigt (Seitenlayout, Stylesheets, Sitemap). Bilder, Musik, Videos, Archive befinden sich in der Regel in Form von statischen Dateien auf dem Server. Manchmal ist es jedoch erforderlich, ähnliche Daten mithilfe eines Skripts zu generieren. Wenn Sie also ein statisches Bild anzeigen müssen, können Sie es vollständig in das Skript einfügen.
Notwendig
die Möglichkeit, Serverskripte zu erstellen oder zu bearbeiten
Anweisungen
Schritt 1
Fügen Sie diese Bilder als Text, der Teil des Programmcodes ist, in das Skript ein. Verwenden Sie die bequemsten Datenstrukturen und syntaktischen Konstrukte. Die Wahl wird in der Regel durch die Fähigkeiten der verwendeten Programmiersprache bestimmt. Daher ist es in vielen Fällen praktisch, ein Bild als normale Zeichenfolge in ein Skript einzufügen, dessen Inhalt mit einem Algorithmus wie Base64 codierte Bilddaten sind. In PHP könnte das so aussehen (2x2 Pixel GIF-Bild): $ str = 'R0lGODlhAgACAIAAAAAAAP /// yH5BAAA'. 'AAAALAAAAAACAAIAAAIDDBAFADs ='; Array-Literale werden ebenfalls häufig verwendet.
Schritt 2
Bereiten Sie das Bild für die Ausgabe vor. Entschlüsseln Sie bei Bedarf die Originalinformationen. Sie sollten einen Puffer erhalten, der die Binärdaten des Bildes enthält. In PHP könnte die Dekodierung des im ersten Schritt angegebenen Strings beispielsweise so aussehen: $ text = base64_decode ($ str);
Schritt 3
Fügen Sie im Header der HTTP-Antwort des Servers ein Feld hinzu, das Daten zur Länge des Antworttexts (der Größe des angezeigten Bildes) enthält. Bestimmen Sie den Geltungsbereich mithilfe von Funktionen oder Methoden, die die Länge von Arrays, Strings usw. zurückgeben. Zum Beispiel: header ('Inhaltslänge:'.strlen ($text));
Schritt 4
Fügen Sie dem HTTP-Antwort-Header des Servers ein Feld hinzu, das den Mime-Typ des übertragenen Inhalts angibt. Zum Beispiel: header ('Inhaltstyp: Bild / gif'); Der Inhaltstyp muss bereits bekannt sein (ermittelt anhand des Formats des Originalbildes).
Schritt 5
Wenn Sie erzwingen müssen, dass das Bild gespeichert wird, anstatt vom Browser angezeigt zu werden, fügen Sie das entsprechende Feld zum Antwortheader hinzu: header ("Content-Disposition: Attachment; filename = my_image.gif");
Schritt 6
Wenn Sie das Caching des Bildes durch den Browser vermeiden möchten, tragen Sie die Felder Pragma und Cache-Control mit den entsprechenden Werten in die HTTP-Antwort ein: header ("Pragma: no-cache"); header ("Cache-Control: no -cache, must-revalidate, no-store "); header (" Cache-Control: pre-check = 0, post-check = 0 ", false); Es lohnt sich auch, das Datum der letzten Änderung und das Ablaufdatum anzugeben Datum der Ressource. In diesem Fall muss der zweite von ihnen später sein: header ("Expires: Mo, 4 Jan 1993 00:00:01 GMT"); header ("Last-Modified:".gmdate ("D, d MYH: i: s"). "GMT");
Schritt 7
Bilden Sie den Hauptteil der HTTP-Antwort des Servers, das sind die Bilddaten. Verwenden Sie Funktionen oder Methoden von Objekten, die eine Ausgabe von Binärdaten ohne zusätzliche Verarbeitung ermöglichen. Beispiel: printf ('% s', $text);