PHP rastgele sayı üretme

____________________________________________________________________

Java ME’de rastgele sayı üretme ile ilgili yazmıştım. Åžimdi de PHP ile rastgele bir sayı üretmem gerekti. Temamda üst kısımda gösterilen rastgele resimlerin seçilmesi için Yakuter Rastgele Resim Eklentisi‘nin kodlarını temanın function.php dosyasına ekleyerek kullanmıştım. Bu kodlar temanın bulunduÄŸu klasöre baÄŸlantı açıp içindeki dosyaları liste ÅŸeklinde alıp bunlardan birinin yolunu String olarak dönüyordu.

Blogda da bir süredir bir yavaÅŸlık vardı, örneÄŸin sayfaların 1 saniyeden hızlı oluÅŸturulduÄŸunu görmemiÅŸtim yakın zamanlarda. Yüksek hitli bir forumun olduÄŸu sunucuda bu aslında çok da anormal deÄŸildi ama FireStats eklentisini kapattığımda bile bu durum deÄŸiÅŸmiyordu. E.Ali’nin WordPress tabanlı siteniz yavaÅŸlamaktan nasıl korunur yazısından niyetlenip biraz iyileÅŸtirme niyetiyle bakınayım dedim.

Bakınırken temanın resim klasöründeki dosya eriÅŸimlerinin yavaÅŸlamaya sebep olup olmayacağını merak ettim. Bunun için de resim klasöründen resim seçme kodunu devre dışı bıraktım. Tabii ki beklediÄŸim gibi hiçbir iyileÅŸme olmadı. 😀 Yine de sunucunun resim klasörüne eriÅŸim ile falan uÄŸraÅŸmak yerine rastgele sayı üretip kullanmanın daha iyi olabileceÄŸini düşündüm, çünkü hali hazırda iÅŸlemcilerin bile buna donanımsal desteÄŸi var. Bunun için de PHP’nin basit rastgele sayı üretme rand() fonksiyonunu öğrendim.

Fonksiyon Java ME’de rastgele sayı üretmekten daha basit ve sadece iki ÅŸekilde kullanılabiliyor.

  1. int rand ( void ) ÅŸeklinde ki, 0’dan getrandmax() deÄŸerine kadar olabilecek Int deÄŸerinde bir rastgele sayı üretiyor. getrandmax() ise döndürülebilecek en büyük rastgele sayı deÄŸeri olup sisteme göre deÄŸiÅŸebiliyor.
  2. int rand ( int $min , int $maks ) Bu da belirlediğiniz bir alt sınır sayısı ve bir üst sınır sayısı arasında bir sayıyı dönüyor. int $min alt sınır, $maks ise üst sınır Int sayımız oluyor, örneğin rand(10, 78) gibi.

Bu şekilde ürettiğim rastgele sayıyı resim yolunun sonuna ekleyip, bu sayıdan sonra da bir .jpg yazarak dosyaların rastgele sayı ile seçilmesini sağladım. Resimlerin isimleri de karışıktı, bunları da Total Commander ile [C].[E] şeklinde yani sayı.jpg şeklinde sıralaytp isimlendirdim. Bana bir avantajı oldu mu, şu an için olmadı. Üst kısım resim klasöründe 78 kadar resim var, ama ileride bu sayıyı arttırırsam işe yarayabilir sanırım. Özetle fonksiyon şöyle:

function rastgele_resim_secme()
{
$resimlerin_adresi=‘http://www.siteadresi.kom/wp-content/themes/tema/resimler/’;
$rastgele_sayi = rand(1, 78);
echo $resimlerin_adresi.$rastgele_sayi.’.jpg’;
}

Sayfaların uzun sürede oluÅŸturulması durumunu da eklenti kullanmaktan kaçıp herÅŸeyi temanın ya da WordPress’in kendi fonksiyonlarını yoÄŸun kullanmaya baÄŸlıyorum. Çünkü farklı hizmetleri daha baÅŸarılı ÅŸekilde yapan optimize eklentiler var, bunları biraz kurcalamam gerekiyor. Åžu an ana sayfam 39 sorgu ile oluÅŸturuluyor ve alt sayfalar da 48 kadar sorgu ile. Temanın üst kısım dosyasında (header.php) blog bilgileri ile ilgili fonksiyonları üretilmiÅŸ sayfadan bilgilerle deÄŸiÅŸtirdim ki fonksiyon sayısını azaltayım ama bu da 38 olan sorgu sayısını 39’a yükseltmek dışında birÅŸey yapmadı. 😀 Åžimdilik de 1 saniyeyi aÅŸma fikrimden vazgeçtim, kiÅŸisel bilgisayarımda bile göremiyorum o bir saniyeyi ben. 😀

Yorum yok

Henüz bir yorum yok.

Bu yazıdaki yorumlar için RSS beslemesi. Geri izleme URI

Yorum yaz