madem başladık bitirelim :) aşağıdaki kodlarla ön belleğe alma(cache) olayını da halletmiş oluyoruz. yalnız unutma ki bu yazdığımız kodlar taslak niteliğinde pratik kodlardır. geliştirmek sana kalmış ;)

unutmadan diğer sitelerden php dosyasını çağırman gerekiyor, cachelenmiş dosyayı değil. bu php betiği bir başka sayfadan çağırıldığında cachelenmiş dosyayı gösterir. eğer cachelenmiş dosya belirtilmiş süre aralığından daha uzun bir süre önce oluşturulmuşsa tekrardan oluşturur. mysql serverini fazla meşgul etmemeni sağlar. php betiğini wordpress sisteminin kurulu olduğu kök dizine kurmanı öneririm. aynı zamanda aynı cache klasörünü kullanmanı da ;)

kolay gelsin tekrardan.







WMaraci.com


// Oluşturmak istenen cache dosyası
$cachefile = "cache/deneme.html";
// Cache güncelleme sıklığı? (Saniye cinsinden)
$cachetime = 300;
if (file_exists($cachefile) && (time() - $cachetime < filemtime($cachefile))) {
echo "";
} else {
$fp = fopen($cachefile, 'w');
fwrite($fp, wmaraci_update_cache_());
fclose($fp);
}
include $cachefile;

// Ön belleğe alınmış dosyayı güncelleyecek fonksiyon
function wmaraci_update_cache_(){
//MySQL Ayarları
$db = "wmaraci";
$host = "localhost";
$dbuser = "root";
$dbpass = "";
$conn = @mysql_connect($host,$dbuser,$dbpass);
if(! $conn) die ("Mysql Baglantisi Yapilamadi");
@mysql_select_db($db,$conn) or die ("Veri Tabanina Baglanti Yapilamadi");
mysql_query("SET NAMES 'utf8'");
$sql = mysql_query("SELECT * FROM wp_posts WHERE (post_status='publish' AND post_type='post') ORDER BY RAND() LIMIT 2");
$result = '';
while($row=mysql_fetch_array($sql)){
$url = $row['guid'];
$post_title = $row['post_title'];
$result .= "$post_title
";
}
return $result;
}
?>