2013-02-21 20 views
6

Tôi muốn tạo một biểu định kiểu trong tệp PHP (styles.php), sao cho biểu định kiểu trở nên động, tùy thuộc vào người dùng yêu cầu. Đối với mỗi người dùng cá nhân, biểu định kiểu là không đổi và do đó sẽ được lưu vào bộ nhớ cache trên trình duyệt ứng dụng khách của mình.Để các trình duyệt lưu trữ biểu định kiểu PHP động của tôi

Tôi đã đọc rằng bạn có thể đạt được điều này bằng cách đặt tiêu đề cho loại nội dung và kiểm soát bộ nhớ cache và như vậy, nhưng tôi không thể làm việc này. Dường như có nhiều thứ hơn, và có lẽ nó thậm chí không thể. Trình duyệt không phải lúc nào cũng nghe các tiêu đề bộ nhớ đệm.

Có ai biết điều gì được yêu cầu để tệp PHP được lưu trong trình duyệt không?

Tôi không muốn đặt tất cả CSS động trong một khối kiểu trong HTML và tôi không muốn thay đổi cấu hình Apache của mình cho việc này. Nếu nó thực sự không thể những gì tôi muốn, tôi cũng muốn biết. Cảm ơn!

+0

các yếu tố ảnh hưởng đến stylesheet là gì? người dùng có thể định cấu hình biểu định kiểu không? hoặc bạn tạo ngẫu nhiên? –

+0

Hệ thống của chúng tôi có nhiều mô-đun và có một dịch vụ web trung tâm trả về một số cài đặt tạo kiểu cho người dùng đã đăng nhập. Đối với tôi, chúng là ngẫu nhiên, nhưng rõ ràng là chúng có liên quan đến một số chi tiết người dùng như nhóm nó thuộc về. –

+0

để bạn sử dụng phiên php khi tập lệnh kiểu của bạn được gọi? Nếu đó là trường hợp này rất có thể là vấn đề của bạn. Tôi không thể kiểm tra ngay bây giờ, nhưng nếu tôi nhớ đúng php ghi đè lên tiêu đề bộ nhớ cache của bạn theo mặc định nếu bạn sử dụng phiên. Vì vậy, hãy kiểm tra các tiêu đề mà trình duyệt nhận được cho biểu định kiểu. –

Trả lời

0

điều này có vẻ tương tự, vui lòng kiểm tra.

Cache Headers for dynamic Css

+0

bởi vì có vẻ như anh ta muốn khác biệt bảng định kiểu từ người dùng đến người dùng, đây thực sự là một câu hỏi khác. và sau đó kiểm soát bộ nhớ cache không nên là 'công khai' nhưng 'riêng tư' (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1) –

+0

Tuy nhiên, tôi đã xem trang này và thử nó. Thật không may, trình duyệt tiếp tục truy xuất biểu định kiểu php. –

+0

Bạn cũng đã thử tiêu đề ('Cache-Control: max-age = 86400') – Ankit

10

Những tiêu đề nên hoạt động tốt:

$expires = 60*60*24; // how long to cache in secs.. 
header("Pragma: public"); 
header("Cache-Control: maxage=".$expires); 
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT'); 
header('Content-type: text/css'); 
+0

Chỉ có chính xác cùng một vấn đề bằng cách sử dụng một styleheet css động trong Wordpress và ở trên cố định nó! Cảm ơn :) – ss888

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