Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menghalang format fail cache imej dalam php
PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang membolehkan anda menulis kod PHP untuk aplikasi web dan menjalankannya pada pelayan. Dalam PHP, anda kadangkala menghadapi beberapa masalah yang berkaitan dengan caching imej Contohnya, apabila anda membuka tapak web dalam penyemak imbas, imejnya tidak boleh dikemas kini atau berubah dengan sangat perlahan. Ini biasanya disebabkan oleh pelayar atau pelayan menyimpan imej. Oleh itu, artikel ini akan memperkenalkan anda kepada cara membuat imej format fail tanpa cache dalam PHP.
Secara lalai, penyemak imbas akan cache imej yang dimuat turun, yang boleh mempercepatkan akses, tetapi ia juga membawa beberapa masalah . Dalam PHP, anda boleh menggunakan fungsi header() untuk mengawal masa cache pelayar dengan menetapkan Cache-Control. Contohnya:
<?php header("Cache-Control: no-cache, no-store, must-revalidate"); //强制浏览器不缓存 header("Expires: 0"); //指定过期时间为0 ?>
Dengan cara ini, apabila pelayan mengembalikan imej, ia akan menetapkan pengepala respons HTTP untuk memberitahu penyemak imbas supaya tidak cache imej ini dan memuat turun imej terkini daripada pelayan setiap kali.
Kaedah ini adalah untuk membuat penyemak imbas berfikir bahawa ia adalah imej dengan menambahkan rentetan rawak pada URL gambar baru untuk memuat turun gambar terkini. Rentetan rawak boleh menjadi cap masa, UUID atau nombor rawak. Contohnya:
<?php $img_url = 'http://example.com/images/logo.png?rand=' . uniqid(); //在图片URL中添加一个唯一标识符 echo '<img src="' . $img_url . '">'; ?>
Dalam contoh ini, dengan menambah nombor rawak selepas URL, imej baharu akan dimuat turun setiap kali imej dimuatkan.
Kaedah terakhir ialah untuk menetapkan imej supaya tidak boleh cache pada pelayan. Dalam pelayan Apache, anda boleh membatalkan cache imej dengan menambahkan kod berikut pada fail .htaccess:
<FilesMatch "\.(jpg|png|gif)$"> Header set Cache-Control "max-age=0, no-store" </FilesMatch>
Kod ini bermakna ia hanya berkuat kuasa untuk fail .jpg, .png dan .gif . Tetapan Pengepala respons Cache-Control ialah "umur maks=0, tiada kedai". Ini akan memaksa penyemak imbas untuk memuat turun imej terkini dari pelayan setiap kali.
Ringkasan
Dengan mengubah suai pengepala respons HTTP, menambahkan parameter rawak pada URL atau menetapkan pengepala respons pada pelayan, anda boleh membuat imej dalam format fail tanpa cache PHP. Dengan cara ini, gambar terbaharu boleh dipaparkan tidak kira pelayar mana yang digunakan, membawa pengalaman yang lebih baik kepada pengguna.
Atas ialah kandungan terperinci Bagaimana untuk menghalang format fail cache imej dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!