2017-02-06 3 views
1

Ich habe ein Stück Code, um ein Bild hochzuladen und es in einem Ordner und dem Pfad in einer Datenbank zu speichern und es auf der Webseite anzuzeigen. Lustigerweise wird das Bild beim Hochladen des Bildes zum ersten Mal auf der Webseite angezeigt und ändert sich, wenn ich ein neues Bild hochlade. Aber wenn ich die Seite schließe, sie an einem anderen Tag wieder öffne und beschließe, das Bild zu ändern, wird sich das der Webseite nicht ändern, selbst wenn ich die Seite aktualisiere, aber die im Ordner ändert sich.Bild ändert sich nicht, wenn es ersetzt wird

Hier ist mein Code

<?php 
$sql2 = "SELECT Picture_HD FROM detailss WHERE Idn_nom = '$Indnum'"; 

require('connect.php'); 

$addr = ""; 
$addr = mysqli_query($conn, $sql2); 

if ($addr) { 
    $locat = $addr->fetch_row(); 
    $locat = (string)$locat[0]; 
} else { 
    $locat = "Pictures/default1.png"; 
} 

mysqli_close($conn); 

echo "<div id = 'Img'>"; 

echo "<img src = '" . $locat . "' alt = 'Passport picture/Headshot' style = 'width:80px; height:80px;'/>"; 

echo "</div>"; 

?> 
+2

ist Ihr Browser zwischengespeichert? Versuchen Sie Strg + F5, um die Aktualisierung vom Server zu erzwingen. P.S. Ich weiß nicht, ob dieser Code auf irgendeiner öffentlichen Website verwendet wird, aber wenn dies der Fall ist, beachten Sie, dass SQL-Injection anfällig ist. Erwägen Sie, parametrisierte Abfragen anstelle von verketteten Strings zu verwenden. – ADyson

Antwort

0

Ihr Browser speichert das Bild zwischen. Wenn Sie verhindern möchten, dass der Browser das Bild zwischenspeichert, fügen Sie einfach einen zufälligen Parameter am Ende der URL hinzu.

echo "<img src = '" . $locat . "?t=" . time() . "' alt = 'Passport picture/Headshot' style = 'width:80px; height:80px;'/>"; 
+1

Wahrscheinlich wollen '"? ​​T = "' – AbraCadaver

+0

$ locat ist ein Pfad zu einem Verzeichnis –

+0

Gut gesehen AbraCadaver, habe ich meinen Beitrag bearbeitet. @ dnumbe10 ja, aber mit deiner Bilddatei hast du etwas wie: src = 'Bilder/default1.png? t = 1486456086' –

0

Wenn Ihr Bild in Ihrem Ordner ändert, aber Sie die alte sehen auf der Webseite ist es wahrscheinlich ein Caching-Problem, löschen Sie den Browser-Cache (ctrl + f5 und das ist ein bisschen kaputt geht also nicht immer - also am besten in die Browsereinstellungen gehen, um es zu tun, oder nach ctrl + f5 ein privates Fenster öffnen und wenn nicht der Cache auf Serverebene leeren.

+0

Es hat nicht funktioniert. –

Verwandte Themen