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 fonksiyonudu.

Önemli olmayan genel ayarlarımı json olarak tutuyorum ve bu dosyaları file_get_contents fonksiyonu 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.

Yazar: arcface

Bilişim Teknolojileri alanıyla başlayan merakımı devam ettirmem neticesinde tam donanımlı web geliştiricisi olarak bir kariyer edindim. Bu güne kadar bir çok kişi ve kurumun kurumsal web sitesini hayata geçirdim. Bunların arasında yeni açılan kurumlar kadar köklü kurumlarda yer aldı. İşi sadece web sitesi kurup bırakmakla sınırlamak istemediğim için içerik editörlüğü de dahil olmak üzere reklam yönetimine kadar her alana el uzattım ve bilgi edindim. Şu an yaptığım her işin en uç noktasından reklam planlamasına kadar tüm adımlarını kendim gerçekleştiriyorum. Herhangi bir kuruma bağlı olmadan çalıştığım için bütçe dostu fiyatlarla kişi ve kurumlara çözümler üretiyorum.