Heim >Backend-Entwicklung >PHP-Problem >PHP-Website, dh Bilder zeigen keine Bilder an

PHP-Website, dh Bilder zeigen keine Bilder an

王林
王林Original
2023-05-28 21:16:06577Durchsuche

Bei der Entwicklung einer PHP-basierten Website bin ich kürzlich auf ein sehr seltsames Problem gestoßen, nämlich dass Bilder im IE-Browser nicht angezeigt werden können. Das stört mich, weil das Bild in anderen Browsern gut angezeigt wird, nur der IE hat Probleme.

Nach einigen Nachforschungen stellte ich fest, dass die Hauptursache des Problems darin lag, dass der Name der Bilddatei Leerzeichen oder chinesische Zeichen enthielt. Da sich der Cache-Verwaltungsmechanismus des IE von dem anderer Browser unterscheidet, kodiert der IE ihn automatisch in die URL-Kodierung, wenn der Name der Bilddatei Leerzeichen oder chinesische Zeichen enthält, andere Browser jedoch nicht.

Insbesondere wenn ein Bilddateiname Leerzeichen oder chinesische Zeichen enthält, konvertiert IE ihn in die folgende Form:

http://example.com/images/%E5%9B%BE%E7%89 %87%20 %E6%B5%8B%E8%AF%95.jpg

wobei %E5%9B%BE%E7%89%87 die URL-Kodierungsform des chinesischen Schriftzeichens „Bild“ ist und %20 die URL von a ist Leerzeichen Kodierungsform.

Wenn Sie jedoch in PHP auf ein Bild wie dieses verweisen, muss es wieder in seine ursprüngliche Form dekodiert werden, sonst wird es nicht angezeigt. Insbesondere wenn das img-Tag von PHP verwendet wird, um auf ein Bild zu verweisen, muss der Bildpfad über die Funktion urldecode() dekodiert werden, wie unten gezeigt:

Auf diese Weise kann das Bild normal im IE angezeigt werden.

Darüber hinaus gibt es einige andere Lösungen, z. B. die Verwendung der Funktion urlencode() zum Kodieren des Bildpfads oder das Ersetzen von Leerzeichen und chinesischen Zeichen im Bilddateinamen durch andere Zeichen. Diese Methoden können jedoch andere Kompatibilitätsprobleme verursachen. Daher ist es am besten, die Funktion urldecode() zum Dekodieren zu verwenden, um eine Kompatibilität mit allen Browsern zu gewährleisten.

Im Allgemeinen habe ich durch diese Erfahrung die Unterschiede in der Codierungsverarbeitung zwischen verschiedenen Browsern zutiefst erkannt und muss bei der Entwicklung besonders vorsichtig sein.

Das obige ist der detaillierte Inhalt vonPHP-Website, dh Bilder zeigen keine Bilder an. 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