2012-12-18 33 views
5

Trang web của tôi được thiết kế để trở thành một trang hình ảnh hài hước, khi người dùng nhấn nút ngẫu nhiên mã PHP trên cùng một trang tạo ra một hình ảnh ngẫu nhiên mới, đây là cách nó được cho là hoạt động. Tuy nhiên tôi phải nhấn nút F5 để có được một hình ảnh mới.Chuỗi URL PHP để tránh bộ nhớ đệm của trình duyệt

Tôi đã đọc trên một câu hỏi khác mà mọi người sử dụng ngày nhận và nhận chuỗi truy vấn thời gian được tạo ở cuối liên kết để tránh bộ nhớ đệm của trình duyệt, tuy nhiên tôi không thể tìm ra được cuộc sống của tôi.

Tôi không giỏi lắm với php nên hãy nói như thể tôi chỉ biết cấu trúc trang web cơ bản. Cảm ơn bạn!

+1

bạn tốt hơn để thiết lập tiêu đề, hơn sử dụng rằng 'lừa' –

Trả lời

4

Những gì bạn mô tả được gọi là trình ngắt bộ nhớ cache và thường là một chuỗi ngẫu nhiên hoặc dấu thời gian được thêm vào url. Khi bạn đang tham chiếu hình ảnh của bạn, thêm vào trước nó như thế này:

echo get_random_image_url() . '?' . time(); 

này sẽ dẫn đến một địa chỉ tìm kiếm như thế này:

http://your.server.com/random.jpg?1355862360

Lưu ý: get_random_image_url chỉ là một ví dụ, nhưng tôi chắc chắn bạn sẽ có được ý tưởng.

Chủ đề này có thể quan tâm: How to force a web browser NOT to cache images.

+0

thực sự tham khảo một tập tin php mà kéo một hình ảnh ngẫu nhiên funny từ lưu trữ của tôi. Tôi xin lỗi, tôi khá giỏi với CSS và html nhưng tôi mới bắt đầu học một vài tháng trước. Mọi trợ giúp thêm sẽ được đánh giá cao. –

0

Nó là rất dễ dàng để được giải quyết: ví dụ, Kiểm tra hai liên kết sau đây:

http://cdn.arstechnica.net/wp-content/uploads/2012/10/06_Place_20773_1_Mis.jpg

http://cdn.arstechnica.net/wp-content/uploads/2012/10/06_Place_20773_1_Mis.jpg?randomValue

Cả hai hai liên kết sẽ được mở cùng một hình ảnh.

Đây là giải pháp của bạn! Bạn phải thêm vào cuối tên tệp hình ảnh của mình một giá trị ngẫu nhiên:

image.png?<?php echo someRandom();?> 

Cộng đồng này hoặc Google để viết hàm có giá trị ngẫu nhiên.

Cũng có giải pháp sử dụng , suupose sau

<img id="funny" src="scripts/php_rand_image.php" /> 
<a href="javascript:changeImage('funny')">Get another image</a> 
<script> 
function changeImage(ob){ 
image = document.getElementById(ob) 
d = new Date(); 
image.src = image.src+'?'+d.getTime(); 
} 
</script> 
+0

tôi đã cố gắng trả lời của bạn vì nó có vẻ là dễ nhất, cảm ơn bạn, nhưng khi tôi đặt nó ở cuối URL, ví dụ: "" trong tệp index.php, trang không còn hiển thị nữa. Bạn có phản hồi gì không? –

+0

Bạn phải chú ý rằng: someRandom() là một hàm tùy chỉnh mà bạn phải viết. Các someRandom() nên được hậu tố vào url hình ảnh. Mặt khác, tôi khuyên bạn nên sử dụng giải pháp phụ thuộc Javascript. – SaidbakR

0

tôi nghĩ rằng sử dụng các header là tốt hơn so với các trick url

<?php 
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
?> 

http://php.net/manual/en/function.header.php

+0

Tuyệt vời và tôi có thể đặt địa điểm này ở bất kỳ đâu trong cấu trúc trang web không? ví dụ đầu cơ –

Các vấn đề liên quan