لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
الموقع الآن فى الفترة التجريبية وهذا الجزء غير كامل وجارى العمل عليه، للراغبين في المساعدة برجاء التقدم
[تحسين] دالة حالة الطقس معتمدا على الياهو مع نظام الكاش
مثال الاستعمال:
$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);
    }