2017-02-06 4 views
1

画像をアップロードしてフォルダとデータベースのパスに保存し、ウェブページに表示するコードがあります。面白いことに、最初に画像をアップロードすると、新しい画像をアップロードするときに、画像がウェブページに表示され、変更されます。しかし、私はページを閉じて、別の日に再開し、画像を変更することを決めた場合、私はページを更新しても、Webページの1つは変更されませんが、フォルダ内の1つが変更されます。交換時の画像は変更されません

あなたのイメージがあなたのフォルダに変更されていますが、それはおそらく、キャッシングの問題だWebページ上の古いものを見ている、お使いのブラウザのキャッシュ(Ctrl + F5キーをクリアプラス、これはちょっとあればここに私のコード

<?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

あなたのブラウザにはキャッシュされていますか?サーバーから強制的に更新するには、Ctrl + F5キーを押してください。 P.S.このコードがどのような種類の公開Webサイトでも使用されるかどうかはわかりませんが、もしそうなら、SQLインジェクションに脆弱であることに注意してください。文字列を連結する代わりに、パラメータ化されたクエリを使用することを検討してください。 – ADyson

答えて

0

お使いのブラウザはイメージをキャッシュしています。 ブラウザが画像をキャッシュしないようにするには、urlの最後にランダムなパラメータを追加するだけです。

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

おそらく '"?t = "' – AbraCadaver

+0

$ locatはディレクトリへのパスです –

+0

AbraCadaverによく見られ、私は自分の投稿を編集しました。 @ dnumbe10はい、あなたの画像ファイルには次のようなものがあります:src = 'Pictures/default1.png?t = 1486456086' –

0

です壊れているので、常にうまくいかないので、ブラウザ設定に入り、ctrl + f5の後にプライベートウィンドウを開いてください)、そうでない場合はサーバーレベルのキャッシュをクリアします。

+0

動作しませんでした。 –

関連する問題