file_get_contents ağırlığını çözmek için alternatif fonksiyon

Üzerinde çalıştığım proje de yaşadığım bir sorun vardı local üzerinde çalışırken bunu fark etmemiştim fakat sunucuya aktardığımda sayfa yüklenme süresi 2-3 saniyelere çıkmıştı sebebini anlayamadım.

Buna sebep olan olayı bulmak için yaklaşık 2 saat uğraştım saçma şekilde sebep olan şey file_get_contents sınıfıydı.

Önemli olmayan genel ayarlarımı json olarak tutuyorum ve bu dosyaları file_get_contents sınıfı ile çağırıyordum. 5-10 Tane dosya da bu hız farkını çok hissetmiyorsunuz fakat benim gibi bir çok sayfayı yüklüyorsanız bunu hissediyorsunuz.

Bende alternatif çözümler aradım ve şu an kullandığım yöntem ile 3 saniye geçikme süresini 0,0080 saniyeye düşürdüm yani katlarcasına hız farkı çıktı ortaya.


Fonksiyon:

function print_xml_data_file($path = "")
{
    require($path);
}

function get_xml_data($path = "")
{
    ob_start();
    print_xml_data_file($path);
    $xml_file = ob_get_contents();
    ob_end_clean();
    return $xml_file;
}

Fonksiyon kullanımıda şu şekilde:

$file = json_decode(get_xml_data('/json/jsondosyasi.json'),true);

Ben dediğim gibi bunu json dosyalarım için kullanıyorum normal şartlarda kullanma şekli json_decode(file_get_contents("siteadresi.com/json/jsondosyasi.json"),true) bu şekildeydi fakat aşırı derecede hosting’e attıktan sonra bunu fark ediyorsunuz bu arada.

Ağırlaştığı için alternatif bu yöntemi türettim deneyin hız farkına şaşıracaksınız.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir