|
[تحسين] دالة حالة الطقس معتمدا على الياهو مع نظام الكاش
مثال الاستعمال:
$data = retrieve('92832');
echo $data['location'][0]['city'];
echo $data['forecast'][0]['low'];عليك استخدام var_dump(retrieve('92832')); لمعرفة جميع مخرجات المصفوفة للاستعمال الامثل define(CACHE_DIR, 'cache');
define(CACHE_AGE, 3600);
function retrieve($zipCode="92832") {
$path = CACHE_DIR . '/cache.xml';
$cached = get_cache_value($path);
if(false !== $cached){
$result = $cached;
} else {
$url = "http://weather.yahooapis.com/forecastrss?p=$zipCode&u=c";
$result = file_get_contents($url);
set_cache_value($path, $result);
}
$XmlObject = new SimpleXMLElement($result);
return array('location' => $XmlObject->xpath('//yweather:location') ,'forecast' => $XmlObject->xpath('//yweather:forecast'));
}
function get_cache_value($path){
if(file_exists($path)){
$now = time();
$file_age = filemtime($path);
if(($now - $file_age) < CACHE_AGE){
return file_get_contents($path);
} else {
return false;
}
} else {
return false;
}
}
function set_cache_value($path, $value){
return file_put_contents($path, $value);
}
|
الموقع الآن فى الفترة التجريبية وهذا الجزء غير كامل وجارى العمل عليه، للراغبين في المساعدة برجاء التقدم

