द्वारा उत्पन्न छवि को कैश करने के मैं कैसे बाहर के साथ डब्ल्यू और एच मैं विधिphp
द्वारा परिभाषित छवि फ़ाइल मुद्रित करने के लिए एक फ़ाइल बनाया लेकिन मेरी समस्या यह चित्रों
कैश करने के लिए मैं करने के लिए इस हेडर जोड़ने है फ़ाइल
@header("Cache-Control: private, max-age=10800, pre-check=10800");
@header("Pragma: private");
@header("Expires: " . date(DATE_RFC822,filemtime($full_path)));
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
&&
(strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == filemtime($full_path))) {
// send the last mod time of the file back
header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($full_path)).' GMT',true, 304);
exit;
}else
{
@header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($full_path)) . ' GMT');
@header('Content-Type: image/jpeg');
@imagejpeg($image);
}
लेकिन मेरी समस्या कुछ तस्वीरें ठीक कैश की गई हैं, लेकिन दूसरों को नहीं कर रहे हैं, और कुछ समय एल्बम अंदर चित्र नहीं अगर मैं को निष्क्रिय कैश हेडर तक दिखाई है
मीटर है वाई हेडर सही हैं? , और कैश के बारे में मुझे उपयोग करना है - या + समय कैश सेट करने के लिए कैसे अपना काम?
ऐसा अपने सभी त्रुटियों को छिपाने के लिए अच्छा अभ्यास नहीं है। PHP के [error_log ini निर्देश] (http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log) को सेट करने पर एक नज़र डालें, ताकि आप उन्हें चुप करने के बजाय त्रुटियों को ट्रैक कर सकें। – cmbuckley
मैं हर रोज PHP का उपयोग करता हूं, और यह भी नहीं पहचानता कि @ पहले क्या था! –
'@' पहली बार फंक्शन त्रुटियों को छिपाने के लिए था अगर किसी भी त्रुटि को मुद्रित किए बिना मूक मोड में निष्पादित फ़ंक्शन की तरह मौजूद है –