Php etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Php etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

25 Şubat 2014 Salı

Php ile Özel Karakterleri Düzeltme

Php ile bir yazı içerisinde bulunan özel karakterleri değiştirmek için bir fonksiyon yazalım. Bu fonksiyon parametre olarak yazıyı (text) almakta ve geriye düzeltilmiş yazıyı döndürmektedir.

/*
* @param string $text
*
* @return string $text
*/

public function ozelKarakterleriDuzelt($text) {

/*
* Özel karakterlerin karşılıkları
*
* bir dizide toplanır
*/
    $specialLetters = array(

        'a' => array('á', 'à', 'â', 'ä', 'ã'),

        'A' => array('Ã', 'Ä', 'Â', 'À', 'Á'),

        'e' => array('é', 'è', 'ê', 'ë'),

        'E' => array('Ë', 'É', 'È', 'Ê'),

        'i' => array('í', 'ì', 'î', 'ï', 'ı'),

        'I' => array('Î', 'Í', 'Ì', 'İ', 'Ï'),

        'o' => array('ó', 'ò', 'ô', 'ö', 'õ'),

        'O' => array('Õ', 'Ö', 'Ô', 'Ò', 'Ó'),

        'u' => array('ú', 'ù', 'û', 'ü'),

        'U' => array('Ú', 'Û', 'Ù', 'Ü'),

        'c' => array('ç'),

        'C' => array('Ç'),

        's' => array('ş'),

        'S' => array('Ş'),

        'n' => array('ñ'),

        'N' => array('Ñ'),

        'y' => array('ÿ'),

        'Y' => array('Ÿ'),

        'G' => array('Ğ'),

        'g' => array('ğ')

    );


/*
* İç içe döngü ilse yazı içindeki özel karakterler
*
* karşılıkları ile değiştirilir
*/
    foreach ($specialLetters as $letter => $specials) {

        foreach ($specials as $s) {

            $text = str_replace($s, $letter, $text);

        }

    }

    return $text;

}



22 Şubat 2014 Cumartesi

Php ile Web Sayfasının Yüklenme Süresini Ölçme

Bir web sayfasının yüklenmesi için geçen süre, sayfanın browser üzerinde html olarak görüntülenmesi için geçen süredir. Sayfanın yüklenme süresini hesaplamak için iki değişkene ihtiyacımız var. Bunlar sayfanın yüklenmeye başladığı an (startTime) ve sayfanın tamamen yüklendiği  an (stopTime) dır. startTime değişkeni sayfanın başına, stopTime değişkeni ise sayfanın sonuna yazılır. Bu ikisi arasındaki zaman farklı (time) bize yüklenme süresini verir.

   $startTime = microtime(true);

/*
* Sayfadaki kodlar
*
* bu araya yazılmalıdır
*/

   $stopTime = microtime(true);

   $time = $stopTime - $startTime;

/*
* İstatistik tutuyorsanız
* time değişkeni 
* veritbanına kaydedilebilir
*/


19 Şubat 2014 Çarşamba

Php ile Yazı İçindeki Rakamları Temizleme

Php ile bir yazı içinde geçen rakamları temizlemek için bir fonksiyon yazalım. Fonksiyon parametre olarak bir string alıyor ve rakamlardan temizlenmiş yazıyı geriye döndürüyor.

/*
* @param string $text
*
* @return string $text
*/

public function rakamTemizle($text) {

    $search = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");

    $text = str_replace($search, "", $text);

    return $text;

}


18 Şubat 2014 Salı

Php ile Facebook URL Decode Etme

Dünyanın en büyük sosyal ağı Facebook'ta her gün binlerce, milyonlarca resim ve video paylaşılıyor. Facebook'ta paylaşılan videoları çekmek için bir uygulama yazıyorsanız, videonun linkinin (URL) şifrelenmiş olduğunu göreceksiniz. Video linkinde geçen özel karakterleri çözümlemek için bir fonksiyon yazalım. Bu fonksiyona şifrelenmiş URL argüman olarak verildiğinde geriye dönen değer anlaşılır bir URL olacaktır.

/*
* @param string $url
*
* @return string $url
*/
public function facebook_encode_replace($url) {

    $source = array("\u00253A", "\u00252F", "\u00253F", "\u00253D", "\u002526", "\u00257B", "\u00257D", "\u002522", "\u00252C", "\u00255C", "\u00255D", "\u00255B");

    $replace = array(":","/","?","=","&","{","}","\"",",","\\","[","]");

    $url = str_replace($source, $replace, $url);

    return $url;

}

Php ile Sayı Basamaklarını Formatlı Şekilde Gösterme

Php ile bir sayıyı binler, milyonlar, milyarlar basamakları formatlı bir şekilde göstermek için bir fonksiyon yazalım. Yazacağımız bu fonksiyon, 1209045678 sayısını 1.209.045.678 şeklinde basamakları formatlanmış olarak geriye döndürecektir.

/*
* @param int $number
* @return string
*/
public function basamakFormatla($number) {

    $format = '';

    $i = 0;

    while ($number > 0) {

        $first = $number % 1000;

        $number = ($number - $first) / 1000;

        if ($i == 0) {

            if ($first < 10) {

                $format = '00' . $first;

            } else if ($first < 100) {

                $format = '0' . $first;

            } else {

                $format = $first;

            }

        } else {

            $format = $first . '.' . $format;

        }

        $i++;

    }

    return $format;

}

/*
* Sayımız 45069702 için fonksiyonu
* aşağıdaki gibi çağırıp sonucu
* ekranda görebiliriz
*/

echo basamakFormatla(45069702);

// Sonuç aşağıdaki gibi olacaktır

45.069.702

//


13 Şubat 2014 Perşembe

PHP ile Youtube Linkinden Video ID'si Bulma

Dünyanın en büyük video içerik sitesi olan Youtube'daki videoların ID'lerini herhangi bir youtube linkinden almak için bir fonksiyon tanımlayalım.

/*
*
* @param string $url
*
* @return string
*
*/
public function getVideoIdFromURL($url) {

        $url_string = parse_url($url, PHP_URL_QUERY);

        parse_str($url_string, $args);

        if ( isset($args['v']) ) {

              return $args['v'];

        } else {

             return '';
        }

}


Fonksiyon parametre olarak bir URL almakta ve bu URL Youtube'a ait ise videonun ID'sini, değil ise boş string döndürmektedir.

12 Şubat 2014 Çarşamba

Codeigniter Kullanıcı Kaydı


Codeigniter ile veritabanı işlemleri için model sınıfları oluşturmak gerekir. Yeni bir kullanıcının bilgilerini veritabanına kaydettiğimizi düşünelim. Öncelikle kullanıcı bilgilerini bir dizide toplamalıyız. Bu işlemi tabiki controller içinde yapmalıyız.

/*
* Profile adından controller oluşturalım
*/

class Profile extends CI_Controller {

    public function __construct() {

        parent::__construct();

    }


    public function signup($userData) {

/*
* Üyelik formundan gelen bilgileri 
* diziye aktaralım
*/

        $data["fullname"] = $this->input->post('fullname',TRUE);

        $data["username"] = $this->input->post('username',TRUE);

        $data["password"] = sha1 ( $this->input->post('password',TRUE) );

        $data["date"] = time();

        $data["status"] = '1;

/*
* Model sınıfını yükleyelim
*/

        $this->load->model('user');

/*
* Model sınıfının newUser metonu çağıralım
*/
        $this->user->newUser($userData);
    }

 }   


Bu durumda model sınıfı içinde bu işlemi yapacak bir metot tanımlamamız gerekir. Bu metot parametre olarak ise kullanıcı bilgilerinin olduğu diziyi almalıdır. Kullanıcıyı veri tabanına kaydeden metodumuzun içeriği aşağıdaki gibi olacaktır.
class User extends CI_Model {

    public function __construct() {

        parent::__construct();

    }

/*
*
* @param array $userData
*
* @return boolean
*
*/
    public function newUser($userData) {

        $this->db->insert('users', $userData);

        if ($this->db->insert_id() > 0) {

            return TRUE;

        } else {

            return FALSE;

        }

    }

}

10 Şubat 2014 Pazartesi

PHP ile Bir Yazıdaki Kelimeleri Hashtag'lemek

Php'de bir fonksiiyon ile bir yazıda geçen tüm kelimeleri hashtagli olarak geri döndürebiliriz. Bunun için öncelikle yazıda geçen tüm noktalama işaretlerini ve yazının başında, sonunda bulunan boşlukları temizlemek ve yazı içindeki boşlukları teke indirmek gerekir. Bunun için öncelikle bir fonksiyon yazalım.
function noktalamaTemizle($text) {

    $search = array("'", ".", ",", ";", "!", "?", ":", "(", ")", "[", "]", "{", "}");

    $text = str_replace($search, "", $text);

    return $text;
}

Yazıda geçen tüm boşlukları tek boşluğa çeviren fonksiyonu yazalım.
/*
*
* @param string $text
*
* @return string
*
*/
function boslukTemizle($text) {

    $text = trim($text);

    $text = str_replace("  ", " ", $text);

    return $text;
}

Şimdi yazıda geçen tüm kelimeleri hashtagli olarak geri döndüren fonksiyonu yazalım.

/*
*
* @param string $text
*
* @return string
*
*/
function hashtagle($text) {

    $text = "#" . $text;

    $text = str_replace(" ", " #", $text);

    return $text;
}

Yazdığımız bu fonksiyonu aşağıdaki gibi çağırabiliriz.
$text = "Bugün, güzel bir gün değil mi?";

$hashText = hashtagle(boslukTemizle(noktalamaTemizle($text)));

echo $hashText;

//Çıktı aşağıdaki gibi olacaktır

// #Bugün #güzel #bir #gün #değil #mi