HTTP Headers
TestAccount
- php
0 Malcolm Beck´s0 TestAccount0 ChrisB0 Malcolm Beck´s0 Der Martin
Hallo, ich stehe vor folgendem Problem.
Ich versuche ein Bild dynamisch per readfile auszugeben. Im Browser klappt das auch ganz wunderbar. Das Bild wird fehlerfrei angezeigt.
Allerdings möchte ich dieses als Thumbnail für ein Video verwenden. Demnach soll es in den Strobe Media Player als poster reingeladen werden.
Hier passiert irgendein Fehler.
Sobald ich versuche das Bild per readfile zu laden, kann er es nicht anzeigen. Geb ich ihm den absoluten Link zur Bilddatei funktioniert das ganze fehlerfrei.
Ich denke, dass es an den Headern liegt, die die PHP an den Browser sendet, bevor sie das jpg per readfile öffnen und ausgeben soll.
Dezeit sende ich den content-type und die content-length.
Hat einer von euch eine Idee an was das liegen könnte?
Grüße
مرحبا
Dezeit sende ich den content-type und die content-length.
Hat einer von euch eine Idee an was das liegen könnte?
Was genau steht im header? Du musst auch den richtigen Content-Type mitschicken.
Content-Type: image/jpeg
oder je nach dem, was du da anzeigen willst.
mfg
Danke für die Antwort.
Ja genau den Typ verwende ich.
<?php
$filename = '/image.jpg';
header('Content-Type: image/jpeg');
header("Content-Length: ".filesize($filename));
readfile($filename);
?>
Wie gesagt, sobald ich auf das statische bild image.jpg direkt link, geht das ganze auch; nur nicht, wenn ich das bild dynamisch laden lasse.
Hi,
Wie gesagt, sobald ich auf das statische bild image.jpg direkt link, geht das ganze auch; nur nicht, wenn ich das bild dynamisch laden lasse.
Dann vergleiche erst mal die Header, die der Server in beiden Fällen zurückliefert - bspw. mit Firebug oder auch dem Web-Sniffer.
MfG ChrisB
مرحبا
Wie gesagt, sobald ich auf das statische bild image.jpg direkt link, geht das ganze auch; nur nicht, wenn ich das bild dynamisch laden lasse.
Vielleicht ist es auch nur der Cache des Players, weil du zuvor ein fehlerhaftes Bild aufgerufen hattest.
Probier's mal so rum mit einem anderen Bild
<?php
$filename = '/image-1.jpg';
header("Content-Length: ".filesize($filename));
header('Content-Type: image/jpeg');
readfile($filename);
mfg
Tach!
Vielleicht ist es auch nur der Cache des Players, weil du zuvor ein fehlerhaftes Bild aufgerufen hattest.
Dann musst du aber den Namen der aufgerufenen Ressource ändern (zum Beispiel durch Anhängen eines Querystrings) und nicht den Dateinamen, der ausschließlich intern von readfile() gelesen wird.
dedlfix.
مرحبا
Dann musst du aber den Namen der aufgerufenen Ressource ändern (zum Beispiel durch Anhängen eines Querystrings) und nicht den Dateinamen, der ausschließlich intern von readfile() gelesen wird.
Normalerweise würde ich auch nur einen Query hinten dran hängen, allerdings kann ich mich wage daran erinnern, dass diese Flash-Player sehr aggressiv cachen, vorallem Bilder.
Ich hatte vor ewigkeiten mal ein ähnliches Problem, wo der Player partout nicht das neue Bild laden wollte, erst nach dem ich den Dateinamen geändert hatte, hat's funktioniert.
mfg
Hallo,
<?php
$filename = '/image.jpg';
header('Content-Type: image/jpeg');
header("Content-Length: ".filesize($filename));readfile($filename);
?>
das wird wohl nichts; ich glaube nicht, dass das Bild im root-Verzeichnis des Servers liegt. Bedenke, dass du hier abweichend vom gewählten Themenbereich *nicht* über HTTP auf die Datei zugreifst, sondern direkt über das Dateisystem des Servers.
Ciao,
Martin