عذرا على التأخر..
مثال لتخزين نتيجة استعلام:deal:
كود 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