• 14-04-2008, 00:03:23
    #10
    Üyeliği durduruldu
    mysqlConn

    Sadece mysql bağlantıları için kullandığım bi class çok hoş ve kullanımı çok kolay..

    class mysqlConn 
    { 
        var $db_host = "localhost"; 
        var $db_user = "user"; 
        var $db_pass = "pass"; 
        var $db = "database"; 
        var $connID = NULL; 
        var $errno = 0; 
        var $connected = 0; 
    
        function config($a, $b, $c, $d) 
        { 
            $this->db_host = $a; 
            $this->db_user = $b; 
            $this->db_pass = $c; 
            $this->db = $d; 
        } 
    
        function connect() 
        { 
            if(!$this->connected) 
            { 
                 $this->errno = 1; 
                $conn = @mysql_connect($this->db_host,$this->db_user,$this->db_pass); 
                if(!$conn) 
                    $this->showErr(); 
                $this->connID = $conn; 
                $database = @mysqlselect_db($this->db,$this->connID); 
                $this->errno = 2; 
                if(!$database) 
                    $this->showErr(); 
                $this->connected = 1; 
            } 
        } 
    
        function close() 
        { 
             if($this->connected) 
               mysql_close($this->connID); 
            $this->connected = 0; 
        } 
    
        function showErr() 
        { 
            $err = "<font size='2' face='Arial'><b> ERROR : ".$this->errno." <br><br> <font color='#FF0000'>- Exception handled while database operation.</font></b> <br><br><font size=1>- ".mysql_error(); 
            echo $err; 
            exit; 
        } 
    
        function getQ($q, &$n) 
        { 
            if(!$this->connected) 
                $this->connect(); 
            $this->errno = 3; 
            $query = @mysql_query($q,$this->connID); 
            if(!$query) 
                $this->showErr(); 
            $i = 0; 
            $ret = null; 
            while($result = mysql_fetch_array($query)) 
            { 
                 $ret[$i] = $result; 
                $i++; 
            } 
            $n = mysql_num_rows($query); 
            return $ret; 
        } 
        function setQ($q) 
        { 
            if(!$this->connected) 
                $this->connect(); 
            $this->errno = 4; 
            $query = @mysql_query($q,$this->connID); 
            if(!$query) 
                $this->showErr(); 
        } 
    }
    Kullanım örneği :

    // Classımızdan bi tane oluşturalım.. 
    $db = new mysqlConn; 
    
    // Database'e bağlantıyı açalım.. Gerçi illa açmaya gerek yoktur. İlk işlemde eğer açık deilse açılır. 
    $db->open(); 
    
    // Tablodan veri çekelim.. getQ fonksiyonunu veri çekerken kullanıyoruz setQ fonksiyonunu ise veri yazımı yaparken kullancaz.. i değişkenine de kaç veri geldi o aktarılacak 
    $q1 = $db->getQ("Select * from tablo", $i); 
    
    // çektiğimiz verileri yazdıralım. $i kayıt sayısını tuttuğuna göre $i ye kadar devam.. 
    for($k = 0 ; $k < $i ; $k++) 
    { 
       echo 'Tablodan degerler : 1. ' . $q1['tablo_alani1'] . ' 2. ' . $q1['tablo_alani2']; 
    } 
    
    // tabloya bişiler ekleyelim 
    
    $db->setQ("Insert into tablo (alan1, alan2...) values ('Alan1', 'Alan2')"); 
    
    // artık işimiz bitti.. bağlantıyı kapatalım.. 
    
    $db->close(); 
    
    // database işlemleri sırasında bi hata meydana gelirse class otomatik işlemleri durduruyor ve hata mesajı veriyor.. bunu zaten kendinize göre ayarlarsınız ya da bırakırsınız
  • 14-04-2008, 00:04:28
    #11
    Üyeliği durduruldu
    Redirect

    Baktınız header hatası da header hatası.. bi türlü yönlendirme olmuyor..
    işte bu karmaşadan kurtulmanın çaresi.:

    Fonksiyon

    function redirect($url) 
    { 
         if(!headers_sent()) 
             header("Location : $url"); 
        else 
            echo "<script language=\"JavaScript\">window.location.href = '$url';</script>"; 
        exit; 
    }
    Örnek Kullanım:

    redirect('nereleregidelim.php');

    redirect kullanın.. eğer header yollanmışsa javascript yönlendirsin..
  • 14-04-2008, 00:05:28
    #12
    Üyeliği durduruldu
    pCode

    Sayılar gıcıktır.. sizin istediginiz gibi 00012 die gözükmezler illa da 12 olacak..
    neyse herşeyin bi çözümü var bu fonksiyon da bu işe yarıyor..

    function pCode($i, $s) 
    { 
         for($k=1;$k<$s;$k++) 
        { 
             $var[$k] = $i % 10; 
            $i = ($i - $var[$k]) / 10; 
        } 
        return strrev(join($var)); 
    }
    Kullanım

    // ilk parametre sayıyı ikinci parametre kaç haneli şekillendirileceğidir. 
    pCode(1234,10); 
    // 0000001234 döndürür.
  • 14-04-2008, 00:07:14
    #13
    Üyeliği durduruldu
    makeThumb

    İlla ki bi resmin küçüğünü de yapmak gerekmez.. php gd kütüphaneniz varsa bunu sizin için yapabilir.

    Fonksiyon

    function makeThumb($f, $w, $h) 
    { 
        $im = imagecreatetruecolor ($w, $h); 
        $imx = imagecreatefromjpeg($f); 
        $xxx = getimagesize($f); 
        imagecopyresampled($im, $imx, 0, 0, 0, 0, $w, $h, $xxx[0], $xxx[1]); 
        imagejpeg ($im); 
        imagedestroy($im); 
        imagedestroy($imx); 
    }
    kullanım

    // 1. parametre dosya, ikinci parametre genişlik, 3. parametre de uzunluk 
    
    [B]Mühim hatırlatma..[/B]
    Bunu kullanırken bi php sayfası hazırlayın content type image/jpeg olsun. Direk fonksiyonu çağırın tamamdır. Ayrıca bu kardeş jpegler dışında işe yaramaz.
    makeThumb('benimdosya.jpg', 10, 10);
  • 14-04-2008, 00:07:48
    #14
    Üyeliği durduruldu
    Sayı Okuma:
    Örneğin 4598 giriyoruz "Dört bin Beş Yüz Doksan Sekiz" alıyoruz.
    Herhangi bir bağımlılık yok.
    Büyük Sayılarda(3 milyar küsür) yanlış sonuç verir.


    function sayioku($sayi) 
    { 
    $bmmt=array( 
        "", 
        "Bin", 
        "Milyon", 
        "Milyar", 
        "Trilyon" 
    ); 
    
        $_sayi=""; 
        $_usayi=""; 
        $i=(float)0; 
        $j=4; 
        $k=0; 
        $b=0; 
    
        while($j>=0) 
        { 
            $i    =    pow(1000,$j); 
            $k    =    (int)((float)$sayi/(float)$i); 
    
            if($k>0) 
            { 
                $_usayi    =    ucluoku($k,$birler,$onlar,$yuz); 
    
                    if($b)$_sayi.=" "; 
                    if( !($k==1&&$j==1)) 
                    { 
                        $_sayi.=$_usayi; 
                        $_sayi.=" "; 
                    } 
                    $_sayi.=$bmmt[$j]; 
                    $b=1; 
                $sayi    =    $sayi%$i; 
            } 
            $j--; 
        } 
        return $_sayi; 
    } 
    
    function    ucluoku($ucbasamaklisayi) 
    { 
    $birler    =    array( 
            0 => "", 
            1 => "Bir", 
            2 => "İki", 
            3 => "Üç", 
            4 => "Dört", 
            5 => "Bşe", 
            6 => "Altı", 
            7 => "Yedi", 
            8 => "Sekiz", 
            9 => "Dokuz" 
    ); 
    
    $onlar =    array( 
        "", 
        "On", 
        "Yirmi", 
        "Otuz", 
        "Kırk", 
        "Elli", 
        "Altmış", 
        "Yetmiş", 
        "Seksen", 
        "Doksan" 
    ); 
    
    $yuz    =    "Yüz"; 
    
        $sayi=""; 
        $i=(float)0; 
        $b1=0; 
    
        $ucbasamaklisayi    %=1000; 
        $i    =    (int)($ucbasamaklisayi/100); 
        if($i>0) 
        { 
            if($i!=1) 
            { 
                $sayi .= $birler[$i] . " "; 
            } 
    
            $sayi .= $yuz; 
            $b1=1; 
        } 
         
        $i    =    (int)(($ucbasamaklisayi%100)/10); 
        if($i>0) 
        { 
            if($b1==1)$sayi .= " "; 
            $sayi .= $onlar[$i]; 
            $b1=1; 
        } 
    
        $i    =    (int)($ucbasamaklisayi%10); 
        if($i>0) 
        { 
            if($b1==1)$sayi.=" "; 
            $sayi .= $birler[$i]; 
        } 
        return $sayi; 
    }
  • 14-04-2008, 00:08:48
    #15
    Üyeliği durduruldu
    HTML içerikli mail göndermek için;
    function postala($gidecekMail,$gonderenAd,$gonderenMail,$konu,$mesaj) { 
        $headers = "MIME-Version: 1.0\n"; 
        $headers .= "Content-type: text/html; charset=iso-8859-9\n"; 
        $headers .= "X-Mailer: PHP\n"; 
        $headers .= "X-Sender: PHP\n"; 
        $headers .= "From: $gonderenAd<$gonderenMail>\n"; 
        $headers .= "Reply-To: $gonderenAd<$gonderenMail>\n"; 
        $headers .= "Return-Path: $gonderenAd<$gonderenMail>\n"; 
        @mail($gidecekMail,$konu,$mesaj,$headers); 
    }
    Örnek kullanım:
    postala('webmaster@ceviz.net','turker','turker@eggdropturk.com','Site Hatası','Ana sayfanın sağ alt köşesinde bir kıl var. Ne o?');
  • 14-04-2008, 00:09:58
    #16
    Üyeliği durduruldu
    E-mail adreslerini toplayan programlardan korunmak için:


    function spamprotect ($mail) { 
        $email=explode("@",$mail); 
        $tammail="[".$email[0]."][@]"; 
        $email=explode(".",$email[1]); 
        while (list($indexno,$deger)=each($email)) { 
            $tammail.="[".$deger."]"; 
        } 
        return $tammail; 
    }
    Örnek kullanım:

    echo spamprotect('turker@eggdropturk.com'); 
    //[turker][@][eggdropturk][com] olarak gözükecek.
  • 14-04-2008, 00:10:56
    #17
    Üyeliği durduruldu
    Dosya gönderme fonksiyonu:
    İstediğiniz dosyayı 8K 'lık sınırla gönderebilirsiniz.

    function send_file($name) { 
     $status = FALSE; 
     $path = $name; 
     if (!is_file($path) or connection_status()!=0) return(FALSE); 
     header("Content-type: application/octet-stream"); 
     header("Content-Disposition: inline; filename=\"".$name."\""); 
     header("Content-length: ".(string)(filesize($path))); 
     header("Expires: ".gmdate("D, d M Y H:i:s", mktime(date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y")))." GMT"); 
     header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); 
     header("Cache-Control: no-cache, must-revalidate"); 
     header("Pragma: no-cache"); 
     if ($file = fopen($path, 'rb')) { 
       while(!feof($file) and (connection_status()==0)) { 
         print(fread($file, 1024*8)); 
          flush(); 
       } 
       $status = (connection_status()==0); 
       fclose($file); 
     } 
     return($status); 
    }
    Not: bir yerden bulmuşum zamanında ama nerden hatırlamıyorum.
  • 14-04-2008, 00:11:26
    #18
    Üyeliği durduruldu
    Başka birinin yaptığı projeye çeki düzen vereceksiniz, lakin bazen neyin nerde olduğunu bulmak zor oluyo aşağıdaki fonksiyonu uygun şartlarda kullandığınızda iş görür bir dizin tarayıcı elde etmiş oluyorsunuz.

    function getResults($p,$n) 
    { 
        //Open path 
        $dp = opendir($p); 
    
        while(false !== ($node = readdir($dp))) 
        { 
        if($node !== "." && $node !== "..") 
        { 
        //Look at the node 
            if(is_file($p."/".$node)) 
            { 
            //it is a file so get it line by line 
                $file=fopen($p."/".$node,'r'); 
                $ln=0; 
                while($line = fread($file,1024)) 
                { 
                    $ln++; 
                    if(preg_match("/".$n."/i",$line)) 
                    //line contains the needle so echo "<PATH>/<file>:<lineNumber> \n <line> \n" 
                    { 
                        echo "Source = ".$p."/".$node." :: ".$ln."\n Line =".$line 
                        ."\n***********************************************************************\n";                            }     
                }         
            } 
            else 
            { 
            //it is a directory so recursive it 
            getResults($p."/".$node,$n); 
    
            } 
        }     
        } 
    
        closedir($dp); 
    }