Noah: Bildrotation

Hallo alle zusammen

Ich hab da ein Problem mit der Funktion imagerotate() bei PHP. Die Funktion ansich funktioniert einwandfrei, d.h. die Bilder werden so gedreht wie sie sollen...ABER...wenn ich danach das rotierte Bild bzw. die HTML-Site wieder via PHP vom Server lade, dann zeigt mir der IE 6.0 das Bild nicht gedreht an, obwohl das Bild auf dem Server gedreht wurde (das beweist ein Browser-Refresh bzw. direkt das Bild auf dem Server)! Der Mozilla-Browser leistet sich diesen Spass immerhin nur ab und zu! Die Bilder werden mir korrekt angezeigt, sobald ich zwei, drei Seiten weiter klicke via irgendwelche Links oder wie schon gesagt einen Refresh mache...
Ich hab schon alles versucht...via <meta...refresh...>, oder mit einer Pausen-Schleife zwischen Bild-Drehung und Bild-Anzeige, Browser-Cache-Einstellungen auf 0 gesetzt etc. etc.! Ich hoffe jemandem kommt dieses Problem bekannt vor und kann mir irgendwie weiterhelfen...! Hier noch zwei Code-Ausschnitte:

/*Rotiertes Bild neu erstellen*/
    $img_temp_1 = imagecreatefromjpeg($DOC_ROOT_IMG.$filename.'.jpg');
    $img_temp_2 = imagerotate($img_temp_1, $select_img_deg, 0);
  //Ausgabe Bild als Datei
  imagejpeg($img_temp_2, $DOC_ROOT_IMG.$img_file.'.jpg', 100);
  //Cache löschen
  //imagedestroy($img_new);
   /***********************************************************************************/
   /*Neues Thumbnail aus rotiertem Bild generieren*/
  /*Altes Thumbnail löschen*/
    unlink($DOC_ROOT_THUMB.$filename.'.jpg');
    /*Neues Tumbnail aus rotiertem Bild generieren*/
  $thumb_temp_1 = imagecreatefromjpeg($DOC_ROOT_IMG.$filename.'.jpg');
  $thumb_temp_2 = imagerotate($thumb_temp_1, $select_img_deg, 0);
  //Ausgabe Thumbnail als Datei
  imagejpeg($thumb_temp_2, $DOC_ROOT_THUMB.$img_file.'.jpg', $thumb_quality);
  //Cache löschen
  //imagedestroy($thumb_new);

/*Bild anzeigen*/
echo '          <img src="'.$DOC_ROOT_THUMB.$img_info["img_file"].$img_info["img_type"].'"'.
    'width="'.$img_info["thumb_width"].'" height="'.$img_info["thumb_height"].'"'.
    'alt="Bild '.$img_info["img_file"].'" border="0"></img>

Danke für Euere Hilfe

  1. hi,

    ABER...wenn ich danach das rotierte Bild bzw. die HTML-Site wieder via PHP vom Server lade, dann zeigt mir der IE 6.0 das Bild nicht gedreht an, obwohl das Bild auf dem Server gedreht wurde (das beweist ein Browser-Refresh bzw. direkt das Bild auf dem Server)!

    klingt nach einem cache-problem.
    verwendest du den selben namen für das neue, gedrehte bild?
    dann wäre es ja kein wunder, der browser sieht einfach keinen grund, das bild neu zu laden.

    anhängen eines zufälligen URL-parameters, z.b. des timestamp, an den bildnamen kann abhilfe schaffen.

    echo '<img src="bildname.jpg?'.time().'" ...>';

    gruß,
    wahsaga

    1. klingt nach einem cache-problem.
      verwendest du den selben namen für das neue, gedrehte bild?
      dann wäre es ja kein wunder, der browser sieht einfach keinen grund, das bild neu zu laden.

      anhängen eines zufälligen URL-parameters, z.b. des timestamp, an den bildnamen kann abhilfe schaffen.

      echo '<img src="bildname.jpg?'.time().'" ...>';

      Lag tatsächlich am Bildnamen. Man ändere ihn nach dem rotieren und siehe da...es klappt ganz plötzlich...:-)!

      Besten Dank