Heim >Backend-Entwicklung >PHP-Problem >So verhindern Sie das Bild-Cache-Dateiformat in PHP

So verhindern Sie das Bild-Cache-Dateiformat in PHP

PHPz
PHPzOriginal
2023-04-12 15:06:32759Durchsuche

PHP ist eine weit verbreitete serverseitige Skriptsprache. Sie können PHP-Code für Webanwendungen schreiben und auf dem Server ausführen. In PHP treten manchmal Probleme im Zusammenhang mit dem Zwischenspeichern von Bildern auf. Wenn Sie beispielsweise eine Website in einem Browser öffnen, können deren Bilder nicht aktualisiert werden oder ändern sich sehr langsam. Dies wird normalerweise dadurch verursacht, dass der Browser oder der Server Bilder zwischenspeichert. Daher erfahren Sie in diesem Artikel, wie Sie Bilder in PHP in Cache-freie Dateiformate umwandeln.

  1. Den Browser zwingen, Bilder nicht zwischenzuspeichern

Standardmäßig speichert der Browser heruntergeladene Bilder zwischen, was den Zugriff beschleunigen kann, aber auch einige Probleme mit sich bringt. In PHP können Sie die Funktion header() verwenden, um die Cache-Zeit des Browsers zu steuern, indem Sie Cache-Control festlegen. Beispiel:

<?php
header("Cache-Control: no-cache, no-store, must-revalidate"); //强制浏览器不缓存
header("Expires: 0"); //指定过期时间为0
?>

Wenn der Server auf diese Weise ein Bild zurückgibt, legt er den HTTP-Antwortheader fest, um den Browser anzuweisen, dieses Bild nicht zwischenzuspeichern und jedes Mal das neueste Bild vom Server herunterzuladen.

  1. Fügen Sie der URL des Bildes eine zufällige Zeichenfolge hinzu

Diese Methode besteht darin, den Browser durch Hinzufügen einer zufälligen Zeichenfolge zur URL des Bildes glauben zu lassen, dass es sich um ein neues Bild handelt, um so das neueste Bild herunterzuladen. Die Zufallszeichenfolge kann ein Zeitstempel, eine UUID oder eine Zufallszahl sein. Zum Beispiel:

<?php
$img_url = &#39;http://example.com/images/logo.png?rand=&#39; . uniqid(); //在图片URL中添加一个唯一标识符
echo &#39;<img src="&#39; . $img_url . &#39;">';
?>

In diesem Beispiel wird durch Hinzufügen einer Zufallszahl nach der URL jedes Mal ein neues Bild heruntergeladen, wenn das Bild geladen wird.

  1. Stellen Sie das Bild so ein, dass es auf dem Server nicht zwischenspeicherbar ist.

Die letzte Methode besteht darin, das Bild so einzustellen, dass es auf dem Server nicht zwischenspeicherbar ist. Auf dem Apache-Server können Sie den Cache von Bildern abbrechen, indem Sie der .htaccess-Datei den folgenden Code hinzufügen:

<FilesMatch "\.(jpg|png|gif)$">
  Header set Cache-Control "max-age=0, no-store"
</FilesMatch>

Dieser Code bedeutet, dass er nur für .jpg-, .png- und .gif-Dateien wirksam wird. Legen Sie den Antwort-Header-Cache fest -Steuerung auf „max-age=0, no-store“. Dadurch wird der Browser gezwungen, jedes Mal die neuesten Bilder vom Server herunterzuladen.

Zusammenfassung

Durch Ändern des HTTP-Antwortheaders, Hinzufügen zufälliger Parameter zur URL oder Festlegen des Antwortheaders auf dem Server können Sie Bilder in PHP ohne zwischengespeicherte Dateiformate erstellen. Auf diese Weise können unabhängig vom verwendeten Browser die neuesten Bilder angezeigt werden, was den Benutzern ein besseres Erlebnis bietet.

Das obige ist der detaillierte Inhalt vonSo verhindern Sie das Bild-Cache-Dateiformat in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn