Odalarda ışıksızım :P

Comments (2)

Captcha

Captcha dendimiydi, insanın aklına resim üzerinde yazan anlamlı/anlamsız kelimeyi bir metin kutusuna yazmak geliyor olsa gerek. Aşağıda ki php kodunda ise farklı bir captcha var. Resim üzerinde toplama ya da çarpma işlemi geliyor. Kullanıcı yazacaksa bu işlemin sonucunu yazsın :)

Kodun çalışan örneği http://www.0x35.com/codebox/captcha/captcha.php adresindedir :)

Kullanılan font ise http://www.0x35.com/codebox/captcha/segoe.gdf adresindedir.

 
    /*    Eğer kullanacığmız imagegif, imagejpeg, imagepng fonksiyonu
        yoksa hiç bir işlem yapmayalım :)
    */
    if( !function_exists("imagegif"))
        die("GD içinde olması lazım gereken fonksiyon yerinde yok :S");
    /* Resmimizin genişliği */
    $Width     = 200;
    /* Resmimizin yüksekliği */
    $Height = 40;
    /* Karakterler arasındaki boşluk */
    $Spacing = 25;
    /* Resim içinde görüntüyü karıştırmak için kaç tane çizgi kullanacağız */
    $Noise = 20;
    /*    Eğer PHP içindeki fontlardan birisini kullanmak istemiyorsak
        dosya adını buraya yazıyoruz
        En sevdiğiniz TrueType Fontu php içinde kullanmak isterseniz
        süper bir dönüştürücü www.0x35.com adresinde Alet Hırdavat
        bölümünde mevcut :)
    */
    $Font_File ="segoe.gdf";
 
    $Img = imagecreate( $Width, $Height );
    imagecolorallocate( $Img, 250, 250, 200 );
    /* Önce resmin arka tarafına bir iki çizgi atıp karıştıralım */
    for( $i = 0; $i < $Noise; $i++ )
    {
        $Random_Color = rand(150,200);
        $Shape_Color  = imagecolorallocate($Img , $Random_Color, $Random_Color, $Random_Color );
        imageline(     $Img,
                    rand(0,$Width),
                    rand(0,$Height),
                    rand(0,$Width),
                    rand(0,$Height),
                    $Shape_Color
            );
    }
    /* Nasıl bir işlem yapacağız toplama mı çarpmamı */
    $Op = (rand(0,100)%2==0)?'+':'x';
    $Number1 = rand(0,50);
    $Number2 = rand(0,50);
    /*    Session_Result değişkeni dogru sonucu tutuyor.
        Bu değişkeni kullanarak kullanıcı doğru mu yazmış
        yanlış mı yazmış öğrenebiliriz :)
    */
    if( $Op == '+' )
        $Session_Result = $Number1+$Number2;
    else
        $Session_Result = $Number1*$Number2;
    /* Resmimize yazacağımız işlemimiz */
    $Captcha_Text = $Number1.$Op.$Number2;
    $Code_Len = strlen( $Captcha_Text );
    /* Eğer var ise fontumuzu yükleyelim */
    if( !empty($Font_File) )
        $Font = imageloadfont( $Font_File );
    /* Yazalım çizelim */
    for( $i = 0; $i < $Code_Len; $i++)
    {
        if( empty($Font_File) )
            $Font         = rand(3,5);
            /* Yazacağımız karakter için bir renk belirleyelim */
        $Random_Color     = rand(0,100);
        $Font_Color        = imagecolorallocate( $Img, $Random_Color, $Random_Color, $Random_Color );
        /* Artık Yazalım */
        imagestring( $Img,
                     $Font,
                     $Spacing+$i*imagefontwidth($Font),
                     ($Height-imagefontheight($Font))/2,
                     $Captcha_Text[ $i ],
                     $Font_Color
                    );
    }
    /* Herşey hazır artık tarayıcıya bir resmimiz var diyebiliriz */
    header("Content-type: image/gif");
    imagegif( $Img );
 

Comments

AplFileUpload - AplImageUpload

Dosya upload olayından sonraki rutin kontrol, taşıma vs gibi işleri bir miktar daha hızlandıracağına inandığım AplFileUpload ve onun yavrusu AplImageUpload isminde iki adet sınıfımız oldu.

Güncellemeler svn de :)

Comments

Intype 0.3.1.664 (Unstable)

Gözde editörümüz Intype windows için TextMate olma yolunda emin adımlarla ilerliyor :)

Yeni neler var?

  • Intype artık bir proje yöneticisine sahip :)
  • Satır kopyalama yapabiliyor
  • Tam ekran çalışabiliyoruz.
  • Satırları taşıyabiliyoruz
  • Kelime kesme yapabiliyoruz

Buyrun bir deneyin

Comments

Nano ile denkleşme

Bu gece hiçbirşey yapmak istemem neticesinde nano ile uğraşayım dedim. Nerden çıktı diye sormayın laf olsun diye :)

Herneyse, siyah üstüne beyaz olan nano'yu biraz renklendireyim istedim.Bir miktar aramadan sonra nano'nun php dosyaları cıvıl cıvıl göstermesini keşfettik :)

öncelik kişisel klasörünüzde ki şu an benim için /home/burak bir adet .nanorc dosyası yaratıyoruz. eğer orada ise açıyoruz

içine de

syntax "php" "\.php[2345s~]?$"
color brightblue start="<\?(php)?" end="\?>"
color blue start="<[^\?]" end="[^\?]>"
color cyan "\$[a-zA-Z_0-9]*"
color cyan "(\[)|(\])"
color red "(var|class|function|echo|case|break|default|exit|switch|if|else|elseif|@|while)\s"
color red "="
color green "[,{}()]"
color green "=="
color white "('[^']*')|(\"[^"]*\")"
color yellow start="<!--" end="-->"
color yellow start="/\*" end="\*/"
color yellow start="#" end="$"

yazdıkmıydı, tamamdır

Sonrasında da tab boşluklarını ayarlamak kaldı ki onu da nano'yu çalışıtırırken --tabsize=4 parametresi ekleyerek halletik. Eh şimdilik gayet tatminkar :)

Comments