PHP"Ye Sıfırdan Giriş

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    readfile dosya oku ile aynı sonucu elde edelim bir kerede okuma yaptıracağız. bir üstteki kod gibi bunda da adalet klasörünü ve merhaba dosyasını kullanıyoruz. KOD55

    ----

    <?php

    $dosya = "adalet/merhaba.txt";

    readfile ($dosya);

    ?>

    ------

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    Dosya okutma işlemini satır satır yaptırmak istemiyorsak, bir kerede de okutmak istemiyorsak bunların yerine kendi belirleyeceğimiz uzunlukta parçalar halinde okutmayı istiyorsak fread kullanacağız

    fread açılmış olan dosyayı tanımladığımız değişkenin adını ve okunmasını istediğimiz byte ölçüsünü parametre olarak alır. fread verilen uzunluk ölçüsüne ulaşmadan yeni bir satır işareti görürse okumaya son verir, dosyanın sonuna ulaşırsa okumaya yine son verir bu yüzden fread kullanırken verdiğimiz uzunluk ölçüsünün almak istediğimiz metin parçasına uygun olup olmadığını sınamalıyız. fread bu ölçüye ulaştığında okumayı kesecektir. KOD56

    ----

    <?php

    //$dosya_yolu adında bir değişken yarattık değer olarak dosyanın bulunduğu yeri gösterdik.

    $dosya_yolu ="adalet/";

    /* if koşulu içerisinde $dosya değişkenini yarattık, fopen kullanarak dosyayı açtırıp r parametresiyle sadece okunacağını belirttik, $dosya değişkenine fopen fonksiyonunu atamış olduk. yani bundan sonra $dosya değişkeni parantez içindeki işlemi ifade etmiş oluyor. */

    if ($dosya = (fopen ("$dosya_yolu/merhaba.txt" , 'r') ) ) {

    echo ("Dosya Açma Denemesi Başarılı<br>");

    }

    else {

    echo ("Dosya Açma Denemesi Başarısız");

    }

    //döngüyü inceleyelim !feof $dosya değişkeninin okunması bitmediği sürece döngü devam edecek.

    while ( ! feof ($dosya) ) {

    /* dosyayı parça parça okutacağız bunun için okuma fonksiyonu fread parantez içinde $dosya  , bytecinsinden belirlediğimiz uzunluğu yazıyoruz.  ve tabiki bu işlemi bir değişken oluşturak ona atıyoruz bu değişken de $belirlediğim_uzunlukta_al*/

    $belirledigim_uzunlukta_al = fread ($dosya, 1024);

    //$belirledigim_uzunlukta_al değişkenini ekranda görüntülüyoruz.

    echo ("$belirledigim_uzunlukta_al<br>");

    }

    //son olarak açıp okuttuğumuz merhaba.txt dosyasını $dosya değişkenine değer olarak atamıştık fclose ile kapama yaptığımızda dosyayı kapatmış oluyoruz.

    fclose ($dosya);

    ?>

    ---

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    Dosyalarımızın içeriğini satır satır okutmayı, belirli bir uzunluğa göre okutmayı ve bir bütün olarak okutmayı gördük. Şimdi de karakter karakter okutmayı görelim bize bu olanağı veren fgetc fonksiyonu bunun kullanımı diğer fonksiyonlardan biraz farklı fgetc daima 1 byte ölçüsünde bir karakter okuyabilir, bu yüzden parametre olarak açılan metin dosyasını değer olarak alan değişkeni kullanır. KOD 57

    -----------

    <?php

    //$metindosyamiz değişkenine okutmak istediğimiz merhaba.txt dosyasını değer olarak verdik.

    $metindosyamiz = "adalet/merhaba.txt";

    /* $dosya isminde bir değişken oluşturduk fonksiyonu bu değişkene atadık fopen dosya aç fonksiyonuna $metindosyamız değişkeninin değeri olan */

    //merhaba.txt dosyasını açtırdık r parametresiyle yalnızca okumak için açtığımızı belirttik.

    if ($dosya = (fopen ($metindosyamiz , 'r') ) ) {

    //if gerçekleşirse alttaki mesaj ekranda görüntülenecek.

                echo ("Dosya Açma Denemesi Başarılı<br>");

                }

                else {

    //if gerçekleşmezse else gerçekleşecek ve alttaki mesaj görüntülenecek

                echo ("Dosya Denemesi Başarısız");

                }

    //döngümüze bakalım feof önünde ünlem ! işareti olduğu için dosya okuma sonlanmayana kadar anlamına dönecek.

    while ( ! feof ($dosya) ) {

    /* $karakter_olarak adıyla oluşturduğumuz değişkene fgetc fonksiyonunu atıyoruz $dosya değişkeninin taşıdığı değer olan merhaba.txt dosyasını karakter karakter */

    //okutuyoruz

                $karakter_olarak = fgetc ( $dosya ) ;

    //ekran çıktısı için echo kullanıyoruz <center> ortalar <br> alt alta gösterir bu kodlar da html den geldi.

                echo ("<center>$karakter_olarak<br>");

                }

    //metin dosyamız $dosya değişkeninin değeri olduğu için $dosya değişkenini kapatıyoruz.

    fclose ($dosya);

    ?>

    ----------

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    Dosya dizin işlemlerini bitirip, tarih fonksiyonlarını anlattıktan sonra fonksiyon oluşturmayı nesne oluşturmayı anlatmayı düşünüyordum ki bazı arkadaşlar fonksiyon oluşturmayı daha önce anlatmamı istedi bu konuda 4 örnek verip dosya dizin işlemlerinden devam edeceğiz.

     

    fonksiyon oluşturmak

    Kendi fonksiyonumuzu oluşturalım echo yerine kendi fonksiyonumu kullanacağım KOD58

    -------

    <?php

    function ismimiYaz()

      {

      echo "Adalet";

      }

    ismimiYaz();

    ?>

    -------

    bu kodumuzda bir fonksiyon oluşturup echo işlemini yaptıracağız ve üç isme soyadı olarak kaygısız yazdıracağız KOD59

    -------

    <?php

    function ismimiYaz($ilk_isim)

    //fonksiyonumuz için işlem tanımlıyoruz

      {

    /* işlemimiz çalıştırıldığında $ilk_isim depişkenine Kaygısız yazısını ekleyerek ekranda görüntülenmesini sağlayacak. */             

      echo $ilk_isim." Kaygısız.<br />";

      }

    /* aşağıdaki ilk üç echo bloğu ekrana sadece benim adım yazdırır, ama yanlarına ismimiYaz fonksiyonunu ilave etmemiz üstteki işlemi çağırmamız demektir ki bu da parantez içerisinde verdiğimiz "Memnun" "Hostes" "Düriye" değerlerinin Kaygısız kelimesinin önüne gelerek görüntülenmesini sağlar */

     

    echo "Benim Adım "; ismimiYaz("Memnun");

    echo "Benim Adım "; ismimiYaz("Hostes");

    echo "Benim Adım "; ismimiYaz("Düriye");

    ?>

    -------

    değişkenlerinin değerleriyle oynayabileceğimiz iki değişkenli bir fonsiyon oluşturalım isim soyisim yazdıralım. KOD60

    -----

    <?php

    /*fonksiyonuma ismimiYaz adını verdim tanımlamak üzere de iki değişken koydum */

    function ismimiYaz($ilk_isminiz,$soy_isminiz)

    /* fonksiyonun gerçekleştireceği işlemimiz değişkenlerimizi ekranda yazdırmak olacak yalnız dikkat edin bunlara değer vermedik. */

      {

      echo "$ilk_isminiz $soy_isminiz<br />";

      }

    /* fonksiyonla işim bitti sıra geldi değişkenlerime değer verme $ilk_isminiz ve $soy_isminiz değişenlerine değerlerini veriyoruz ekrana yansıtmayı fonksiyonumuz yapacak. */

    ismimiYaz("Mustafa","Topaloğlu");

    ismimiYaz("Memnun","Kaygısız");

    ismimiYaz("Abdullah","Gül");

    ?>

    ------

    Değerleriyle oynayabileceğimiz 2 değişkenli çıkarma işlemi yapan bir fonksiyon oluşturalım KOD61

    ------

    <?php

    /* fonksiyonumun adını cikarma_islemi koyuyorum değer almamış iki değişken koyuyorum */

    function cikarma_islemi($sayi1,$sayi2)

    /* süslü parantezler arasına işlemimi yazıyorum */ 

        {

      $cikarma = $sayi1 - $sayi2;

      return $cikarma;

    /* echo komutuyla fonksiyonumu ekrana aktarıyorum $sayi1 ve $sayi2 değişkenlerime değerlerini burada veriyorum */

     

      }echo "60 - 25 = " . cikarma_islemi(60,25)

    ?>

    ------

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    dosya ve dizin işlemlerine devam ediyoruz

    bir dizinin içeriğini görüntülemek KOD62

    ----------

    <?php

    /* kodu çalıştıracağımız yerde adalet adında bir klasör oluşturun içine birkaç dosya atın adalet klasörünün içinde de üç dört tane klasör oluşturun*/

    /*işlem yapmadan önce klasörümüzü açmalıyız $klasoru_ac değişkenine opendir komutuyla adalet klasörünü açtırıyoruz, */

    $klasoru_ac = opendir("adalet");

    /*döngüye bakalım $dizini_listele adında bir değişken oluşturduk readdir komutuyla klasoru_ac değişkenini okuttuk. != eşitdeğildir operatörüyle false kullanarak readdir okuma işlemi bittiğinde döngünün durmasını sağladık. */

    while ( ($dizini_listele = readdir($klasoru_ac)) != false) {

    /* $dizini listele değişkenini ekrana aktardık */

      echo "$dizini_listele <br />\n";

    }

    /* closedir kullanarak $klasoru_ac değişkeninin değeri olan adalet klasörünü kapattık. */

    closedir($klasoru_ac);

    ?>

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    kod 64 ü anlatabilmem için bunu kesinlikle anlatmam gerekiyor.

    gettype nedir? sık karşımıza çıkacağı için bunu açıklayalım gettype fonksiyonu bize herhangi bir değişkenin veri tipi hakkında bilgi verir önemli bir fonksiyondur çünkü bazen veri tipe göre işlem yaptırmamız gerekebilir.  Değişkenin değer tipini de setgettype() fonksiyonuyla değiştiriyoruz buna daha sonra örnek yapacağız. KOD63

    ------

    <?php

    $dizin="adalet";

    echo gettype ($dizin);

    ?>

    ------

    KOD64 i anlatabilmem için bunu da kesinlikle anlatmam gerekiyor. boolean bool denen bir şahıs tarafından bulunmuş her programlama dilinde var olan veri tipi. boolean'i diğer veri tiplerinden ayıran özellikse sadece iki değer alabilmesi örneğin ya beyaz ya siyah, ha kapalı ya açık, ya doğru ya yanlış  php'de bunu kullanıyoruz ya doğru(true) ya yanlış(false). boolean döngülerden çıkmak için güzel bir yol.  is_dir() değişkenin dizin olup olmadığını sorgular.  KOD64

    ------

    <?php

    /* $dizin_adi değişkenine adalet dizinini değer olarak girdim */

    $dizin_adi = "adalet";

    /* $dizin_adı değişkenine dizini değer olarak girmiştik opendir ile $dizin_adi değişkeninin verisini açtırıyoruz, dosya açma işlemini $dizin_ac değişkenine atıyoruz */

    $dizini_ac = opendir ($dizin_adi);

    /* döngüye bakalım $dizin_oku adında bir değişken yarattık readdir ile dizini açma işini yüklediğimiz $dizin_ac değişkenini okutuyoruz açılmış dizini okutmuş olduk döngüde gettype kullanarak verinin tipini sorgulatıyoruz != boolean kullanarak döngüyü kapatıyoruz */

    while ( gettype ( $dizin_oku =  readdir( $dizini_ac ) ) != boolean )

    //if koşulunu is_dir yani dizin_mi ye bağladık.

    {

                if ( is_dir( "$dizin_adi/$dizin_oku" ) )

    /* ekran çıktımıza gelelim [Dizin ismi] kısmına istediğinizi yazabilirsiniz, $dizin_adi/$dizin_oku değişkenleri onlara yüklediğimiz işleri ekrana yansıtacak, <a href=> </a> kullanarak da dizinlere girilmesini sağlıyoruz. */         

                echo " [Dizin ismi] " ;

                echo ("<a href=\"$dizin_adi/$dizin_oku\">$dizin_oku</a><br>\n");

    }

    /* $dizini_ac değişkeni dolayısıyla adalet dizinini kapatıyoruz */

    closedir ($dizini_ac);

    ?>

    ----

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    mkdir kullanarak dizin oluşturma, oluşturacağımız dizinin adı benim dizinim mkdir den sonraki paranteze dikkat önce dizin adını yazıyoruz virgül , koyup chmod erişim değerini veriyoruz 0777 erişim değerimiz. KOD65

    ----

    <?php

    $dizin_olustur = mkdir("benim_dizinim",0777);

    if ($dizin_olustur) {

                echo "dizin oluşturuldu";

    } else {

                echo "dizin oluşturulamadı";

    }

    ?>

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    rmdir kullanarak dizin silmek  rmdir den sonra parantezin içine silinecek klasörün adını yazıyoruz chmod erişim değeri yok.  KOD66

    ------

    <?php

    $dizin_sil = rmdir("benim_dizinim");

    if ($dizin_sil) {

                echo "dizin silindi";

    } else {

                echo "dizin silinemedi";

    }

    ?>

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    Daha kısa kod yazmak -> soldaki işareti soran arkadaşlar oldu. üstteki örneklerde bir klasörün içeriğini nasıl göstereceğimizi gördük. şimdi -> zımbırtısının kodu nasıl kısalttığını görelim. KOD67

    -----

    <?php

    $klasor = dir("adalet");

    /*  -> soldaki işareti merak ediyordunuz kısa kod yazmanın bir yoludur. $klasor değişkenine read i uygula elde ettiğin sonucu $dizin değişkenine yükle.   */

    while ( $dizin = $klasor->read()) {

    echo "$dizin <br />\n";

    }

    // -> burada yine aynı kullanımı görüyoruz close u $klasör değişkenine uygula

    $klasor->close();

    ?>

    -----

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    KARAKTER GRUBUNA GÖRE ARAMA YAPTIRMAK

    bunun için ereg ve eregi kullanılır, ereg büyük küçük harf ayrımı yapar, eregi büyük küçük harf ayrımı yapmadan arar. Karakter grubuna göre arama ne işimize yarayabilir derseniz örneğin arama motorlarında kullanılabilir, formlarda mail adreslerinin yanlış girilmesini önlemek için kullanılabilir örnek yapalım.

    ----

    eregi kullanırken önce koşulumuz olan karakter(ler) ve virgülle , ayırarak kullanacağımız değişken yazılır bu örneğimizde @ işaretinin kullanılıp kullanılmadığını sınıyoruz. KOD67

    ----

    <?php

    //değişkenimizi yaratalım.

    $mail = "adalet@adalet.com";

    //eregi( kıstası yazıyoruz , değişkeni yazıyoruz)

    if (eregi("@",$mail)) {

    echo "Mail Adresi Verdiğimiz Kıstasa Uygun Girilmiş";

    } else {

    echo "Mail Adresi Verdiğimiz Kıstasa Uygun Girilmemiş";

    }

    ?>

    ----

    bir adım ileri gidelim @ işaretinin yanında bir takım uzantıları da uygunluk koşulumuzun içine sokalım. KOD68

    ----

    <?php

    //mail adresini değişken olarak girelim

    $mail="destek@kostek.com";

    //@ karakterini ve .com uzantısını && ve operatöryle diğer uzantıları yani net com tv biz edu nom uzantılarını || veya operatörüyle sınamaya dahil edeceğim.

    if ( eregi("@",$mail) && (eregi(".com",$mail) || eregi(".net",$mail) || eregi(".tv",$mal)

    || eregi(".org",$mail) || eregi(".biz",$mail) || eregi(".edu",$mail) || eregi(".nom",$mail))) {

    echo "Mail Adresi Kıstaslara Uygun"; } else {

    echo "Mail Adresi Kıstaslara Uygun Değil";

    }

    ?>

    ----

    bu pratiklerden sonra bazı şeyleri öğrenelim düzenli ifadeler (regular expressions) diziliş sıralanış biçimi demektir, düzenli ifadeler oluşturup bunlara uyan özellikte olanları bul diyebiliyoruz, buldurduğunuz ifadelere metinlere neler yapacağınız size kalmış. Bu kısmı birkaç biraz açalım. tahribat kelimesiniyle başlayan bütün kelimeleri buldurmak istiyorsak arama ifademiz ^tahribat olacak. ^ işaretinin kullanım amacı budur. tahribat kelimesiyle biten bütün kelimeleri buldurmak için tahribat$ kullanırız kelime sonundaki $ işaretinin kullanım amacı budur. tahribat kelimesini tek başına aratıyorsak ^tahribat$ şeklinde kullanım olacak. tahribat kelimesinin başına kıstas koymadan aratırsak tahribat kelimesinin geçtiği her kelimeyi getirir.

Toplam Hit: 7931 Toplam Mesaj: 71