طريقة برمجة الملفات المؤقته Cache Output System







اولا ما هى الملفات المؤقته وما فائدتها؟ الملفات المؤقتة عبارة عن نسخة من الملفات الاصلية وتكون محفوظة فى مجلد ما تختاره انت مع الحفاظ على ديناميكية الموقع ويتم استدعاء هذه الملفات عند فتح الزائر للموقع سيدور سؤال بذهنك الان؟ اين الديناميكية فى الموقع طالما ان الصفحات ثابته الجواب :- ان هذه الصفحات تتحدث بين كل فترة معينة تختارها انت.

فائدة هذه الملفات :

  • الحفاظ على موارد السيرفر
  • سرعة فى تصفح الموقع
  • الاقلال من الاستعلامات الخاصة بقاعدة البيانات

 طريقة عمل هذه الملفات :

  • عند طلب الزائر عرض اى صفحة ستقوم بالبحث عن ملف الكاش الخاص بها وان وجدته ستتاكد هل استنفذ الوقت المسموح به ام لا
  • اذا لم يستنفذ سيتم عرضه واذا غير ذلك هيعمل ملف كاش جديد
  • واذا اضفت اشياء جديدة بالقاعدة سوف تقوم بحذف ملف الكاش القديم

لانه مش طبيعى ان الموقع يكون منضاف فيه تعليق مثلا من الزائر وما يظهر بالموقع مممم سنرى سويا الاكواد اول شىء صفحة Index.php سنتاكد منها الملف موجود ولالا وهل استنفذ وقته ام لا ولو موجود سنقوم بعرضه ولو مو موجود سنقوم بتسويه ملف كاش جديد

رمز PHP:
<?php
    
/**
    | --------------------------------
    | File Information
    | --------------------------------
    | @author PhpMan <[email protected]>
    | @category Cache Output System 
    */
    
    
ob_start(); // نبدء عمليه تخزين البيانات
    
    
$cache_dir 'cache/'// مجلد حفظ ملفات الكاش
    
$cache_period '3600'// المدة الى يكون فيها ملف الكاش صالح للاستخدام وحددناها هنا لمدة ساعة
    
    
    // التاكد من ان الملف موجود ام ولا والتاكد من انه استنفذ الوقت الممسوح
    
    
if(file_exists($cache_dir.'index.html') AND filectime($cache_dir.'index.html')+$cache_period time())
    {
        
// اذا الملف صالح للاستخدام وموجود سينقوم بعرض الملف 
        
require $cache_period.'index.html';
    }
    else
    {
        
// اذا الملف غير موجود او غير صالح للاستخدام سينقوم بعرض المحتوى ثم حقظ الملف الجديد
        
        
echo 'traidnt is the best forum'// محتوى الملف الجديد
        
        
$content ob_get_contents(); // تخزين محتوى الملف 
        
echo $content// طباعة المحتوى 
        
        
file_put_contents($cache_dir.'index.html',$content); // عمل ملف كاش جديد 
        
    
}
    
    
    
    
    
?>

الملف تم شرحه بالتعليقات تنتقل الان الى نقطة اخرى وهى عند اضافة محتوى جديد للملف نقوم بحذف ملف الكاش القديم

رمز PHP:
<?php

     
// الاتصال بالقاعدة
     
     
mysql_connect('localhost','root','123456');
     
mysql_selectdb('cache');
     
     
$query =  mysql_query('insert into (name) values (phpman)'); // ادخال بيانات للقاعدة
     
     
if($query//اذا تم الادخال بنجاح 
     
{
         echo 
'تم ادخال القيمة '// طباعة رسالة نجاح
         
         
if(file_exists($cache_dir.'index.html')) // اذا ملف الكاش موجود
         
{
             if(
unlink($cache_dir.'index.html'))// اذا تم حذف الملف القديم
             
{
                 echo 
'تم حذف ملف الكاش القديم'// طباعة رسالة نجاح الحذف
             
}
         }
         else
         {
             echo 
' لا يوجد ملف كاش بهذا الاسم'// طباعة رسالة خطا
         
}
         
     }




?>

الملف ايضا تم شرحه بالتعليقات اتمنى من الله ان اكون وفقت فى تقديم معلومة جديدة للاخوة الاعضاء


 

http://www.traidnt.net/vb/traidnt1442117