عرض مشاركة واحدة
عضو نشيط
تاريخ التسجيل: Jan 2008-
#6 (permalink)  

عذرا على التأخر..

مثال لتخزين نتيجة استعلام
كود PHP:
function save_data($data,$file='cache.m'){
    
$fp fopen($file,'w');
    
fwrite($fp,serialize($data));
    
fclose($fp);
}  

# put ur query result into an array
for($i=0;$row=mysql_fetch_array($result);$i++) $rows[$i] = $row;
# saving it to cache.m - you may choose any name with any extension
save_data($rows); 
مثال لاستخراج نتيجة الاستعلام مرة أخرى
كود PHP:
function get_data($file='cache.m'){
    if(
file_exists($file)){
        return 
unserialize(implode('',file($file)));
    }else{
        return 
false;
    }
}  

# retrieving our array
$rows get_data(); 
و يكون الناتج هو نفس المصفوفة التي قمت بتخزينها.

كود PHP:
if(is_array($rows)){
    foreach(
$rows as $row){
        
# continue ur work
    
}

-> اذا أردت جلب البيانات المخزنة في الملف قبل الحفظ.. فما عليك الا أن تستخدم get_data و مقارنة القيمة المحفوظة بالقيمة المستخرجة من قاعدة البيانات، أو التعديل عليها ثم الحفظ مرة أخرى.

-> و بهذا ستكون سجلت البيانات في ملف منفصل، و استفدت أيضا من ال dynamic code caching

-> للعلم .. يوجد للserializing فوائد كثيرة جدا ، لذلك يجب القراءة في طرق الاستفادة منها
PHP: serialize - Manual
PHP: unserialize - Manual






mr_m غير متواجد حالياً   قديم 18-05-2008, 12:38 AM
رد مع اقتباس