• 02-11-2008, 00:23:43
    #28
    Üyeliği durduruldu
    Bütün işaretleri siler, _(alt tire),.(nokta),@(et) hariç. yani maillerde ve metinlerde rahatça kullanabilirsiniz.
    function clean_signs($thisvalue) {
        $willchange = array ("!", "\"", "'", ",", "<", ">", "=", "^", "#", "+", "$", "½", "%", "&", "{", "}", "[", "]", "(", ")", "*", "/", "~", "|", ";", "`", "€", "£", "\\" );
        $withthis = "";
        return str_replace ( $willchange, $withthis, strip_tags ( $thisvalue ) );
    }
    ///////////////////////////////////////////////////////////////

    Bir dizi içindeki aynı değerleri teke düşürür. Mesela

    array (
    0=> ahmet
    1=>mehmet
    2=> ahmet
    ...

    ise iki ahmet değerini tek e düşürür.


    function arr_dif($array){
    $difs = array();
        foreach($array as $value){
            if (!in_array($value,$difs)){
                $dif_tmp =array($value);
                $difs = array_merge ($difs,$dif_tmp);
            }
        }
    return $difs;
    }
    ////////////////////////////////////////////////////////////////////

    Üç adet html entities problem çözümü; hepsini aynı anda kullanmak zorunda değilsiniz, hangisi uygunsa; seo yazılımı yazanların kullanabileceği tüm kapitalize harflerini kapsayan 3 fonksiyon.
    function general_ent_control($value){
    $willchange = array ('\\r','\\n','(', ' ', ')', '&Ccedil;', '&ccdil;', '&lt;', '&gt;', '&amp;', '&quot;', '&nbsp;', '&Ntilde;', '&ntilde;', '&THORN;', '&thorn;', '&Yacute;', '&yacute;', '&yuml;', '&szlig;', '&AElig;', '&Aacute;', '&Acirc;', '&Agrave;', '&Aring;', '&Atilde;', '&Auml;', '&aelig;', '&aacute;', '&acirc;', '&agrave;', '&aring;', '&atilde;', '&auml;', '&ETH;', '&Eacute;', '&Ecirc;', '&Egrave;', '&Euml;', '&eth;', '&eacute;', '&ecirc;', '&egrave;', '&euml;', '&Iacute;', '&Icirc;', '&Igrave;', '&Iuml;', '&iacute;', '&icirc;', '&igrave;', '&iuml;', '&Oacute;', '&Ocirc;', '&Ograve;', '&Oslash;', '&Otilde;', '&Ouml;', '&oacute;', '&ocirc;', '&ograve;', '&oslash;', '&otilde;', '&ouml;', '&Uacute', '&Ucirc;', '&Ugrave;', '&Uuml;', '&uacute;', '&ucirc;', '&ugrave;', '&uuml;', '&reg;', '&plusmn;', '&micro;', '&para;', '&middot;', '&cent;', '&pound;', '&yen;', '¼', '½', '¾', '¹', '²', '³', '&iquest;', '&deg;', '&brvbar;', '&sect;', '&laquo;', '&raquo;' );
                            $withthis = array ('_','_','_', '_', '_', 'C', 'c', '_', '_', '_', '_', '_', 'N', 'n', 'T', 't', 'I', 'i', 'y', 'ss', 'E', 'A', 'A', 'A', 'A', 'A', 'A', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'D', 'E', 'E', 'E', 'E', 'f', 'e', 'e', 'e', 'e', 'I', 'I', 'I', 'I', 'i', 'i', 'i', 'i', 'O', 'O', 'O', 'O', 'O', 'O', 'o', 'o', 'o', 'o', 'o', 'o', 'U', 'U', 'U', 'U', 'u', 'u', 'u', 'u', 'R', 't', 'm', 'p', 'm', 'cent', 'Pound', 'Yen', 'frac14', 'frac12', 'frac34', '1', '2', '3', '_', '_', '_', '_', '_', '_' );
    $value = str_replace ( $willchange, $withthis, $value );
    return $value;
    }
    function force_ent_control($value){
    $force_change = array ('(', ')', '&amp;', '&Ccedil;', '&ccdil;', '&lt;', '&gt;', '&amp;', '&quot;', '&nbsp;', '&Ntilde;', '&ntilde;', '&THORN;', '&thorn;', '&Yacute;', '&yacute;', '&yuml;', '&szlig;', '&AElig;', '&Aacute;', '&Acirc;', '&Agrave;', '&Aring;', '&Atilde;', '&Auml;', '&aelig;', '&aacute;', '&acirc;', '&agrave;', '&aring;', '&atilde;', '&auml;', '&ETH;', '&Eacute;', '&Ecirc;', '&Egrave;', '&Euml;', '&eth;', '&eacute;', '&ecirc;', '&egrave;', '&euml;', '&Iacute;', '&Icirc;', '&Igrave;', '&Iuml;', '&iacute;', '&icirc;', '&igrave;', '&iuml;', '&Oacute;', '&Ocirc;', '&Ograve;', '&Oslash;', '&Otilde;', '&Ouml;', '&oacute;', '&ocirc;', '&ograve;', '&oslash;', '&otilde;', '&ouml;', '&Uacute', '&Ucirc;', '&Ugrave;', '&Uuml;', '&uacute;', '&ucirc;', '&ugrave;', '&uuml;', '&reg;', '&plusmn;', '&micro;', '&para;', '&middot;', '&cent;', '&pound;', '&yen;', '¼', '½', '¾', '¹', '²', '³', '&iquest;', '&deg;', '&brvbar;', '&sect;', '&laquo;', '&raquo;' );
                            $force_with = array ('_', '_', '_', 'C', 'c', '_', '_', '_', '_', '_', 'N', 'n', 'T', 't', 'Y', 'y', 'y', 'ss', 'E', 'A', 'A', 'A', 'A', 'A', 'A', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'D', 'E', 'E', 'E', 'E', 'f', 'e', 'e', 'e', 'e', 'I', 'I', 'I', 'I', 'i', 'i', 'i', 'i', 'O', 'O', 'O', 'O', 'O', 'O', 'o', 'o', 'o', 'o', 'o', 'o', 'U', 'U', 'U', 'U', 'u', 'u', 'u', 'u', 'R', 't', 'm', 'p', 'm', 'cent', 'Pound', 'Yen', 'frac14', 'frac12', 'frac34', '1', '2', '3', '_', '_', '_', '_', '_', '_' );
    $force = str_replace ( $force_change, $force_with, $value );
    return $force;
    }
    
    function ent_control($value){
    $willchange = array ('(', ' ', ')', '&Ccedil;', '&ccdil;', '&lt;', '&gt;', '&amp;', '&quot;', '&nbsp;', '&Ntilde;', '&ntilde;', '&THORN;', '&thorn;', '&Yacute;', '&yacute;', '&yuml;', '&szlig;', '&AElig;', '&Aacute;', '&Acirc;', '&Agrave;', '&Aring;', '&Atilde;', '&Auml;', '&aelig;', '&aacute;', '&acirc;', '&agrave;', '&aring;', '&atilde;', '&auml;', '&ETH;', '&Eacute;', '&Ecirc;', '&Egrave;', '&Euml;', '&eth;', '&eacute;', '&ecirc;', '&egrave;', '&euml;', '&Iacute;', '&Icirc;', '&Igrave;', '&Iuml;', '&iacute;', '&icirc;', '&igrave;', '&iuml;', '&Oacute;', '&Ocirc;', '&Ograve;', '&Oslash;', '&Otilde;', '&Ouml;', '&oacute;', '&ocirc;', '&ograve;', '&oslash;', '&otilde;', '&ouml;', '&Uacute', '&Ucirc;', '&Ugrave;', '&Uuml;', '&uacute;', '&ucirc;', '&ugrave;', '&uuml;', '&reg;', '&plusmn;', '&micro;', '&para;', '&middot;', '&cent;', '&pound;', '&yen;', '¼', '½', '¾', '¹', '²', '³', '&iquest;', '&deg;', '&brvbar;', '&sect;', '&laquo;', '&raquo;' );
                            $withthis = array ('_', '_', '_', 'C', 'c', '_', '_', '_', '_', '_', 'N', 'n', 'T', 't', 'I', 'i', 'y', 'ss', 'E', 'A', 'A', 'A', 'A', 'A', 'A', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'D', 'E', 'E', 'E', 'E', 'f', 'e', 'e', 'e', 'e', 'I', 'I', 'I', 'I', 'i', 'i', 'i', 'i', 'O', 'O', 'O', 'O', 'O', 'O', 'o', 'o', 'o', 'o', 'o', 'o', 'U', 'U', 'U', 'U', 'u', 'u', 'u', 'u', 'R', 't', 'm', 'p', 'm', 'cent', 'Pound', 'Yen', 'frac14', 'frac12', 'frac34', '1', '2', '3', '_', '_', '_', '_', '_', '_' );
    $value = str_replace ( $willchange, $withthis, $value );
    return $value;
    }
    Kullanımı:
    $translate = get_html_translation_table ( HTML_ENTITIES );
                            $value = strtr ( $old, $translate );                      
                            $value = ent_control($value );
    //////////////////////////////////////////////////////////////////////////
    Randomlar
    /**
    *alt alta 4 adet random string üreten fonksiyon... ilki php.netten alinmadir...
    */

    /**
     *alt alta 4 adet random string yada sayı üreten fonksiyon... ilki php.netten alinmadir...
     */
    
    function randomkeys($length) {
        $pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
        $key = $pattern {rand ( 0, 36 )};
        for($i = 1; $i < $length; $i ++) {
            $key .= $pattern {rand ( 0, 36 )};
        }
        return $key;
    }
    
    function randomnumber($lengt) {
        $pattern = "123456789";
        $number = '';
        for($i = 1; $i < $lengt; $i ++) {
            $number .= $pattern {rand ( 0, 9 )};
        }
        return $number;
    }
    function randomuser($lengt) {
        $pattern1 = "aeuio";
        $patern2 = "bcdfghjklmnpqrstvwxyz";
        for($i = 1; $i < $lengt; $i ++) {
            $keys .= $patern2 {rand ( 0, 21 )};
            $t = $i + 1;
            for($j = $i; $j < $t; $j ++) {
                $i ++;
                $keys .= $pattern1 {rand ( 0, 5 )};
            }
        }
        return $keys;
    }
    
    function randomsifre($uzunluk) {
        $pattern1 = "aeuio";
        $patern2 = "bcdfghjklmnpqrstvwxyz";
        $pattern3 = "1234567890";
        for($i = 1; $i < $uzunluk; $i ++) {
            $sifre .= $patern2 {rand ( 0, 21 )};
            $t = $i + 1;
            for($j = $i; $j < $t; $j ++) {
                $i ++;
                $sifre .= $pattern1 {rand ( 0, 5 )};
                $s = $j + 1;
                for($r = $j; $r < $s; $r ++) {
                    $j ++;
                    $sifre .= $pattern3 {rand ( 0, 10 )};
                }
            }
        }
        return $sifre;
    }
  • 14-11-2008, 00:05:05
    #29
    Kimlik doğrulama veya yönetimden onay bekliyor.
    yazdığım captcha scripti:

    SourceForge.net: MRTZC PHP CAPTCHA
  • 14-11-2008, 00:11:49
    #30
    Google'da yanlış bir kelime yazıp arama yaptığınızda "Did you mean ? bilmem ne bilmemne" çıkar. Php'de bu iş için levenshtein() fonksiyonu bulunmasına rağmen, pekde başarılı olduğu söylenemez. Aşağıdaki işinizi görecektir.
    Bazı Denemelerim:
    your word is: aple
    did you mean: apple
    your word is: biinana
    did you mean: banana
    your word is: baan
    did you mean: bean
    your word is: ptata
    did you mean: potato
    $elimizdeki array şeklinde olmalıdır. Elimizdeki doğru cümlelerdir.
    $yanlis ise, kullanıcının girdiği yanlış cümledir.
      function enyakin($yanlis,$elimizdeki=array()) {
        //Yanlış Kelimenin uzunluğu.
        $uzunluk=strlen($yanlis);
        //Yanlış Kelimedeki ilk harfi al.
        $ilkharf=substr(strtolower($yanlis),0,1);
        echo "your word is: $yanlis";
        //Yanlış kelimedeki her bir karakteri bir değişkene ata.
        for ($i=0;$i<=$uzunluk;$i++)
        {
        $k[$i]=substr(strtolower($yanlis),$i,1);
        }
        // $elimizdeki'yi döngüye sokar.
        foreach ($elimizdeki as $key => $val)
        {
        //Harfleri küçük yap.
        $val=strtolower($val);
        for ($i=0;$i<=$uzunluk;$i++)
        {
        // Yanlış yazılan kelimedeki harfler ile elimizdeki kelimelerdeki harfleri karşılaştırır. En çok ortak noktası olanı seçer.
        preg_match("/$k[$i]/",$val,$sonuc);
        if ($sonuc[0]) $ewt[$key].=$key;
        }
        //Elimizdeki kelimelerden eleme yapmak için, bazı özellikler kullanılır.
        //Yanlış kelime ile elimizdeki kelimenin baş harfi aynı olmalı.
        //Yanlış kelime ile doğru kelime arasındaki uzunluk en fazla 2 harf olmalı. Mesela; "Siiiilam" girdiğimizde bize "Selam" kelimesini vermez. Ama "Siilam" girdiğimizde verir.
        if ( ($uzunluk-2<=strlen($ewt[$key]) && $uzunluk+2>=strlen($ewt[$key]))&& (strlen($val)+1>=$uzunluk && strlen($val)-1<=$uzunluk ) && ($ilkharf==substr($val,0,1)))
        {
        echo "did you mean: ".$val."";
        }
        }
  • 14-11-2008, 00:16:19
    #31
    rasgele harf ve karakter üreten bişey, $char'ın içine rasgele üretmesini istediğiniz şeyi yazın, $kackarakter ise kaç karakter uzunluğunda olacağını belirler. örneğin;

    rasgeleharf(8);
    sonuç: goasmSSa

    function rasgeleharf($kackarakter)
    {
    $char="abcdefghijklmnoprstuwvyzqxABCDEFGHIJKLMNOPRSTUVWYZQX1234567890"; /// İzin verilen karakterler ?
    for ($k=1;$k<=$kackarakter;$k++)
    {
    $h=substr($char,mt_rand(0,strlen($char)-1),1);
    $s.=$h;
    }
    echo $s;
    return $s;
    }
  • 19-11-2008, 04:11:20
    #32
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Dosya ismini ikiye böler ilk kısmın sonuna 0 ile 9999 arası bir rakam sallar. Resim yükleme ve dosya upload işlerinde gerekiyor.

    Örneğin şu isimde resminiz var : gunes.jpg
    Bu 9999'da 1 ihtimalle server'da ki aynı isimli resmin üzerine yazılır aşağıdaki fonksiyon kullanıldığı takdirde : gunes7586.jpg
    Bu da oldukça düşük bir ihtimaldir.

    function salla($filenameexp){
    	$filenameexp = explode('.',$filenameexp);
    	$filenameexp['0'] = $filenameexp['0'].rand(0,9999);
    	return $filenameexp;
    }
  • 07-01-2009, 17:43:44
    #33
    Bu konudaki gereksiz mesajlar temizlense güzel olur aslında. Sadece kod paylaşımı olursa çok çok iyi olur.

    Verilip verilmediğini tam olarak bilmediğim bir fonksiyonu paylaşmak istiyorum. Ben verildiğini görmedim. Yunuz Emre Yılmaz tarafından kodlanan fonksiyon cUrl ile dosya indirmeye yarar. Çok hızlıdır.

    <?
    #
    #Kodlama : Yunus Emre Yilmaz / ****.a yns
    #http://www.xhandros.net
    #
    
    function dosya_indir($adres,$ad)
    {
        if (!extension_loaded(curl)) {
            die("Extension yuklu  degil socket deneyebilirsin");
        }
    
        $ch = curl_init("$adres");
        if (!$ch) {
            die("Curl oturumu baslatamadim..");
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($ch);
        curl_close($ch);
        // baglantiyi kapa
    
        $islem = fopen("$ad", "a+");
        fwrite($islem, $data);
        fclose($islem);
        if ($islem) {
            echo" Dosya basariyla yuklendi...";
        } else {
            die("Dosya yuklenemedi");
        }
    }
    ?>
    Örnek Kullanımı;

    dosya_indir('http://www.site.com/eskidosyaadi.rar','yenidosyaadi.rar');
    1. kısma indireceğimiz dosyanın adresini yazıyoruz, 2. kısma server'a yuklendigi zamanki dosya adinı yazıyoruz. Kaliteli ve çalışan bir fonksiyondur. Kendim kullanıyorum.

    ///////////////////////////////////////

    Flood olmaması için mesajımı düzenleyerek bir iki fonksiyon daha paylaşmak istiyorum.

    Arşivimde bulunan bir fonksiyon, belki bir çoğunuz biliyorsunuzdur, cUrl ile backlink kontrolü yapmak..

    <?php
    
    $url="http://www.sizinsiteniz.com";
    $link_page="http://www.backlinkkontroluyapacaginizsite.com";
    
    $result
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$link_page);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    $result=curl_exec ($ch);
    curl_close ($ch);
    
    preg_match ("|<[aA] (.+?)".$url."(.+?)>(.+?)<\/[aA]>|i", $result, $matches);
    
    if (count($matches)>0){
    echo "Link Bulundu.";
    print_r($matches);
    
    }else{
    echo "Link Bulunamadı.";
    }
    
    ?>
    ///////////////////////////////////////

    Yine kendi kullandığım bir fonksiyonu vermek istiyorum, Türkçe Tarih fonksiyonu.

    function turkcetarih($zaman) { 
    $gunler = array( 
    "Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi" 
    ); 
    
    $aylar =array( 
    NULL, "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık" 
    ); 
    $tarih = date("d",$zaman)." ".$aylar[date("n",$zaman)]." ".date("Y",$zaman)." ".$gunler[date("w",$zaman)]; 
    return $tarih; 
    }
    Bildiğiniz gibi mySQL veritabanına tarih kaydedilirken 2009-01-31 şeklinde kaydediliyor. Bunu veritabanından çekip, ekrana yazdırırken yukarıdaki fonksiyonu kullanıyorum ve sonuç; 31 Ocak 2009 olarak yazılıyor. Çok kullanışlı bir fonksiyondur. Şu şekilde kullanılır;

    echo turktetarih(time());
    İlerleyen zamanlarda fonksiyonları paylaşmaya devam edeceğim.

    Kolay gelsin.
  • 19-01-2009, 06:41:32
    #34
    Basit ama kullanışlı bir kod...

    <?php
    // Coded By Halid Said Altuner - halid@halid.org
    // Sistem(sunucu) üzerinden gün, ay, yil degerlerini aliyor ve yönlendiriyor.
    
    $gun = date("d"); // Gun bilgisi
    $ay = date("m"); // Ay bilgisi
    $yil = date("o"); // Yil bilgisi
    
    header("Location: http://www.siteadresi.com/$yil/$ay/$gun/default.htm"); // Yönlendirme yapiliyor.
    ?>
  • 19-01-2009, 06:42:43
    #35
    <?   
    ob_start();   
    
    $basla = $_GET["basla"] ? $_GET["basla"] : 0; // Kactan baslayacak?   
    $limit = 5;                                   // Kac tanesıne gonderecek?   
    $bekle = 2;                                   // Kac sanıye bekleyecek?   
    
    $konu  = "Test";   
    $mesaj = "<b>...</b>";   
    
    $ustk  = "From: xxx <xxx@xxx.com>\\n";   
    $ustk .= "X-Sender: <xxx@xxx.com>\\n";   
    $ustk .= "X-Mailer: PHP\\n";   
    $ustk .= "X-Priority: 3\\n";   
    $ustk .= "Return-Path: <xxx@xxx.com>\\n";   
    $ustk .= "Content-Type: text/html; charset=iso-8859-9\\n";   
    
    if($dosya = (fopen("mail.txt",'r'))){   
        while(!feof($dosya)){   
            $satir  = trim(fgets($dosya,50));   
            if($satir != "") $mail[] = $satir;   
        }   
        fclose($dosya);   
    
        for($i=$basla; $i<$basla+$limit; $i++){   
            if($mail[$i] != ""){   
                echo $mail[$i]."<br>";   
                mail($mail[$i], $konu, $mesaj, $ustk);   
            }   
        }   
    
        echo "<br>Gönderilen $basla, ".($basla+$limit)." arası toplam ".($basla+$limit)." mail. ";   
        if(count($mail) > ($basla+$limit)){   
            echo "Kalan ".(count($mail) - ($basla+$limit))." mail.";   
            header("refresh: $bekle; url=mail.php?basla=".($basla+$limit)); // Sayfayı yenıle   
        }   
    }else {  
        echo "Hata: Dosya açılamıyor.";   
    }  
    ?>
  • 19-01-2009, 06:45:11
    #36
    <?
    function rasgeleparola()
     $semboller = "1234567890abcdefGHIJKLMNOPQRSTUVWxyzABCDEFghijklmnopqrstuvwXYZ1234567890";
     $sifre = '';
     for($i=0;$i<7;$i++)
     {
      $sifre .= $semboller{rand() % 39};
     }
     return $sifre;
    }
    // fonksiyon
    
    $sifre=rasgeleparola();
    ?>