Merhaba,

Buradaki sitede verileri cache'de tutmayla ilgili birkaç kod buldum. Siteye gitmek istemeyenler için kodu aşağı olduğu gibi ekledim.

Buradaki kod işime yarıyor fakat burada $cikti adında bir değişken var. Bende birden çok değişken var. Bu kod çıktısında sadece $onbellek->cache('kurlar.txt') değişkeni ekrana basılıyor. Bunun içinde sadece $cikti içerisindeki fiyat var. Ben diğer değişkenlerimi de çıktılamak istiyorum. Birden fazla fiyat çekeceğim çünkü. Bunu nasıl yapabilirim? Buraya $cikti2 ve $cikti3 gibi 8 tane değişken ekleyeceğim ve her birini cache içinde tutup istediğim alanda ekrana yazdıracağım.

PHP bilen arkadaşlar yardımcı olur ise sevinirim.

Öğrenmek için bu tür konuları sık sık açıyorum. Daha önce böyle açılmış konular sayesinde çok şey öğreniliyor. Herkese teşekkür ederim.

# önbellek süresi (saniye cinsinden)
# ilk çalıştırmada 0 yapın!
$cache_suresi           = 43200;
  
class onbellek{
    public $dadi    = 'kurlar.txt';
    # eğer önbellek süresi doldu ise yapılacak işlemler. (Örn: Veritabanından şu veriyi çek)
    function veri(){
        $sayfa      = file_get_contents('http://www.tcmb.gov.tr/kurlar/today.xml');
        preg_match('~CurrencyCode="USD".*BanknoteSelling>([0-9.]+)</BanknoteSelling~isuU',$sayfa,$cikti);
        $kur        = $cikti[1];
          
        return ($kur);
    }
    function cache($dosyaadi=null){
        if(!@$dosyaadi)
            $dosyaadi   = $this->dadi;
        global $cache_suresi;
        if(filemtime($dosyaadi)+$cache_suresi<time()){ $veri = $this->veri();
 
            # eğer tcmb'den veri çekemezse, döviz kurunu güncelleme
            if((int)($veri)>0.1){
                $dosya = fopen($dosyaadi, 'w');
                fwrite($dosya, $veri);
                fclose($dosya);
                return $veri;
            } else
                return $this->oku($dosyaadi);
            
        }else{
            return $this->oku($dosyaadi);
        }
    }
    function oku($dosyaadi){
        $dosya  = fopen($dosyaadi, 'r');
        $icerik = fread($dosya, filesize($dosyaadi));
        fclose($dosya);
        return $icerik;
    }
}
 
$onbellek      = new onbellek();
# kurlar.txt dosyasının chmod ayarını 777 yapmayı unutmayın!
echo $onbellek->cache('kurlar.txt');