Sebastian1986: Bilder hochladen und bestehende ersetzen

Hallo!

Komme leider gerade nicht klar...

Habe von meinen Usern Bilder hochladen lassen. Diese habe ich unter deren "id".jpg in meiner datenbank gespeichert. Die hier angegebenen seiten sind  in einem "include"... also $SESSION gibt schon das richtige aus. Es hat auch schon exakt so funktioniert nur leider funktioniert es jetzt nicht mehr. Es bleibt immer das bereits existierende bild auf der Internetseite zu sehen, auch wenn ich es direkt über den browser anspreche (exakten pfad/id.jpg). Wenn ich über meinen ftp-Client die Bilder herunterlade, habe ich die neu hochgeladenen. Also funktioniert eigentlich alles so wie ich mir das vorstelle...nur es werden Bilder angezeigt, die eigentlich gar nicht mehr laut ftp-client auf dem server existieren.
Aber woher kommen denn die alten, die angezeigt werden??? liegt das an 1und1?

Ich wäre euch sehr dankbar, wenn ihr mir sagen könntet wo mein Fehler liegt...

Danke schonmal im Voraus!

  
<span style="font-weight:bold; font-family:arial; font-size:15px;">  
<p>  
M&ouml;chtest du dein Bild &auml;ndern? <br>  
</p>  
</span>  
  
<?php  
//wenn bereits ein bild existiert, dann natürlich anzeigen, ansonsten nur button anzeigen  
if (file_exists("./uploads/".$_SESSION["id"].".jpg"))  
{  
?>  
<img src="./uploads/<?php echo $_SESSION["id"]; ?>.jpg" width="320">  
<?php  
}  
  
?>  
  
  
  
<span style="font-family:arial; font-size:15px;">  
<p>  
<form enctype="multipart/form-data" action="./index.php?site=upload&<?=SID?>" method="POST">  
<input name="image" type="file" /><br />  
<p>  
<input type="submit" value="Bild hochladen" style="width:180px"/>  
</p>  
</span>  
  

DIE FOLGESEITE SIEHT WIE FOLGT AUS

  
  
<span style="font-weight:bold; font-family:arial; font-size:15px;">  
 <?php  
  
$dateityp = GetImageSize($_FILES['image']['tmp_name']);  
if($dateityp[2] != 0)  
   {  
  
   if($_FILES['image']['size'] <  51200)  
      {  
      move_uploaded_file($_FILES['image']['tmp_name'], "./uploads/".$_SESSION["id"].".jpg");  
      echo "<p>Dein Bild wurde erfolgreich hochgeladen"."</p><img src='./uploads/".$_SESSION["id"].".jpg' width='320px'> ";  
       }  
   else  
      {  
         echo "Das Bild darf nicht gr&ouml;&szlig;er als 50 kb sein. Bitte klicke in deinem Browser auf Zur&uuml;ck um dein Bild erneut hochzuladen. Du kannst dein bild auch <a href='http://www.verkleinern.de/' target='_blank'>hier</a> verkleinern lassen.";  
      }  
  
    }  
  
else  
    {  
    echo "Bitte nur Bilder im jpg Format hochladen. Klicke in deinem Browser auf Zur&uuml;ck um dein Bild erneut hochzuladen";  
    }  
?>  
  
</span>  
  
  
  
  
  
  
  
  
  

  1. Hi,

    Komme leider gerade nicht klar...

    Merkt man.
    Gebe dir bitte etwas mehr Mühe bei künftigen Problembeschreibungen - deine Ausdrucksweise ist doch sehr verworren, und macht es schwer zu verstehen, was eigentlich dein Problem ist.

    Es bleibt immer das bereits existierende bild auf der Internetseite zu sehen, auch wenn ich es direkt über den browser anspreche (exakten pfad/id.jpg). [...]
    Aber woher kommen denn die alten, die angezeigt werden???

    Aus dem Cache deines Browsers vermutlich.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. So, nochmal, leider auf dei falsche nachricht bezogen..

      wie kann ich verhindern, dass der cache das behält? bzw wie kann ich den cache löschen. ich will ja nicht, dass bei meinen usern das selbe auftritt wie bei mir.??

  2. Tut mir leid..beim nächsten mal ;)

    wie kann ich verhindern, dass der cache das behält? bzw wie kann ich den cache löschen. ich will ja nicht, dass bei meinen usern das selbe auftritt wie bei mir.??

    1. Hi,

      wie kann ich verhindern, dass der cache das behält?

      Das willst du doch gar nicht - wenn jeder Client jedes Mal Ressourcen anfordert, an denen sich Nullkommanix geändert hat, vervielfachst du sowohl den Traffic, als auch die Wartezeit des Nutzers bis zum vollständigen Seitenaufbau.

      bzw wie kann ich den cache löschen.

      Gar nicht, das macht mein Browser schon, wenn's angebracht ist.

      ich will ja nicht, dass bei meinen usern das selbe auftritt wie bei mir.??

      Dann implementiere entweder, dass dein Server eine Last-Modified-Angabe im Response-Header ausgibt und auf If-Modified-Since in Requests passend reagiert; oder
      ändere die Bildadresse, wenn das Bild auf dem Server durch ein neueres ersetzt wurde (aber auch nur dann, und nicht pauschal bei jedem Request, siehe oben).

      MfG ChrisB

      --
      Light travels faster than sound - that's why most people appear bright until you hear them speak.
      1. Dann implementiere entweder, dass dein Server eine Last-Modified-Angabe im Response-Header ausgibt und auf If-Modified-Since in Requests passend reagiert;

        Danke schonmal für die schnelle Antwort!!

        Leider habe ich absolut keine Ahnung wovon du da gerade sprichst.. hast du zufällig ein Link dazu oder kannst mir erklären was genau du meinst`?

        Danke!

        Sebastian

        1. Hi,

          Dann implementiere entweder, dass dein Server eine Last-Modified-Angabe im Response-Header ausgibt und auf If-Modified-Since in Requests passend reagiert;

          Leider habe ich absolut keine Ahnung wovon du da gerade sprichst.. hast du zufällig ein Link dazu

          HTTP/1.1: 13 Caching in HTTP

          Wie man das in PHP implementiert, wenn man's denn selber machen will, verrät sich die SuMa deiner Wahl.

          MfG ChrisB

          --
          Light travels faster than sound - that's why most people appear bright until you hear them speak.