nostr://delirehberi@emre.xyz
RELAYS: OK [RSS] [YÖNETIM]

# I am a veteran Full-Stack Engineer, Open Source Contributor, and Web Generalist. Having shipped applications continuously since 2005, I don't just write code—I architect scalable digital systems that drive business value. Building Nostr tools: - https://nostr.emre.xyz - https://photo.emre.xyz - https://snips.emre.xyz - https://nostr.org.tr - https://rehber.dev - https://jotstr.com - https://ulasocial.com

$ cat ./posts/php-ile-dosya-bazli-onbellekleme.md

Php İle Dosya Bazlı Önbellekleme

TIMESTAMP: 2023-09-10T12:51:25.000Z | 1 MIN_READ

Original date 2013-10-20T18:38:32.000Z

Selamlar,

Basit bir şekilde dosya bazlı önbelleklemeden bahsedeceğim. Eğer salt php kullanmıyorsanız bu işlem için smarty,zend,codeigniter vb şeylerin çok güzel özellikleri var. Ancak php’yi yazarım ben sadece diyorsanız, nasıl html cache yapacağınıza değinelim.

Uygulayacağımız mantık çok basit.

  • Girilen adresi öğren
  • Girilen adresi md5 e çevir md5(iletisim)
  • Dosyalarına bir bak bakalım bu isimde bir dosya var mı ?
  • Yok diyorsun madem hemen ob_start diyerek işlemleri not etmeye başla.
  • Not ettiğin içeriği bir değişkene atayıp oradan da md5lenmiş ismi olan bir dosyaya yaz.
  • Sonrasında içeriği göster.
  • Sayfayı yenile
    1. adıma kadar geldin baktın aynı isimde dosya var.
  • O halde zamanı bir kontrol et bakalım ne zaman oluşturulmuş.
  • Çok eski bir dosya diyorsan 4 adıma git.
  • Dosyamız gayet yeni ise file_get_contents yapıp içeriği alalım.
  • Ekrana basıp exit komutunu verelim.

Kodlarla anlatmak gerekirse .

php
<?php
$request = $_SERVER['REQUEST_URI']; //adım 1
$file_name = md5($request); //adım 2
$file = $_SERVER['DOCUMENT_ROOT'].'/cache/'.$file_name;
 //unutma dosyanın mantıklı bir yerde olması lazım. ve chmod ayarı 777 olsun.
if(is_file($file)){ //adım 3
    (int)$create_time = filectime($file);//adım 9
    (int)$time = time(); //şimdiki zaman adım 9
    $s = $time-$create_time; // bak bakalım adım 9
    if($s >(60*60*5)){//adım 9
        //create new file
        $opened_file = file_get_contents($file); //adım 11
        echo $opened_file;
        echo '';
        exit;//adım 12
    }
}
ob_start(); //adım 4

echo 'Bu kısımda tüm sitemizin içeriğini include falan etmişiz meğersem';

$full_page = ob_get_contents(); //adım 5
$fopen = fopen($file,'w+'); //adım 5
fwrite($fopen,$full_page); //adım 5
echo '';
?>

İş arasında bu kadar hızlı oluyor ancak.

Saygılar

Emre Yilmaz
Emre Yilmaz
delirehberi@emre.xyz
About Author
Emre Yilmaz
Emre Yilmaz ✓ delirehberi@emre.xyz

I am a veteran Full-Stack Engineer, Open Source Contributor, and Web Generalist. Having shipped applications continuously since 2005, I don't just write code—I architect scalable digital systems that drive business value. Building Nostr tools: - https://nostr.emre.xyz - https://photo.emre.xyz - https://snips.emre.xyz - https://nostr.org.tr - https://rehber.dev - https://jotstr.com - https://ulasocial.com

Value 4 Value

Comments & Discussions (0)

Decentralized replies powered by Nostr (NIP-22 / NIP-10)
Loading Nostr comments...
🏷️ Topics
Bu listede henüz öğe yok.