<?php class Bulut{ function Bulut($dosya = 'bulut.dat'){ if(!file_exists($dosya)){ $f = fopen($dosya,"w"); fyaz($f,serialize(array())); fclose($f); } } static function hazirla($giris){ $giris = preg_replace("/\d+/","",$giris); $giris = preg_replace("/\W+/","-",$giris); $giris = preg_replace("/(^\W)|(\W$)/","",$giris); $giris = preg_replace("/[\-]+/","-",$giris); return ($giris); } static function yaz($bulut,$dosya = 'bulut.dat'){ $f = fopen($dosya,"w"); fwrite($f,serialize($bulut)); fclose($f); } static function oku($dosya = 'bulut.dat'){ if(!file_exists($dosya)) $bulut = new Bulut; $dosya = file($dosya); $bulut = unserialize($dosya[0]); return $bulut; } static function guncelle($kelime){ $bulut = Bulut::oku(); $kelime = Bulut::hazirla($kelime); if(array_key_exists($kelime,$bulut)) $bulut[$kelime]++; else $bulut[$kelime] = 1; Bulut::yaz($bulut); } static function isle($format,$min = 9,$maks = 28){ $bulut = Bulut::oku(); if(sizeOf($bulut) == 0){ $sonuc = 'Veri Yok'; $bulut = new Bulut; } else { $min_say = min(array_values($bulut)); $maks_say = max(array_values($bulut)); $spoku = $maks_say - $min_say; $sonuc = ''; foreach($bulut AS $bulut=>$cnt){ $boyut = $min + ($cnt - $min_say) * ($maks - $min) / $spoku; $etiket = @str_replace('###KELIME###', $bulut, $format); $etiket = @str_replace('###BOYUT###', floor($boyut), $etiket); $sonuc .= $etiket; } } return $sonuc; } } Bulut::guncelle("php"); Bulut::guncelle("javascript"); Bulut::guncelle("html"); Bulut::guncelle("css"); echo Bulut::isle('<a href="?###KELIME###" style="font-size:###BOYUT###px">###KELIME###</a> '); ?>
Çıktısı
<a href="?php" style="font-size:28px">php</a> <a href="?javascript" style="font-size:14px">javascript</a> <a href="?html" style="font-size:9px">html</a> <a href="?css" style="font-size:9px">css</a>