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

    touch komutu yeni bir dosya oluşturmak için kullanılır txt uzantılı yeni bir dosya oluşturalım yeni dosyamızın adı dosyam olsun KOD44

    ------

    <?php

    touch ("dosyam.txt");

    echo "dosya oluşturuldu"

    ?>

    ------

    şimdi kodları kaydettiğiniz klasörü açın ve orada yeni bir klasör yaratın klasörün ismini adalet koyun. 45 nolu kodda bulunduğumuz konumdan başka bir klasörün içinde dosya oluşturmayı göreceğiz KOD45

    -----

    <?php

    //$nereye_kaydedeyim diye bir değişken oluşturduk adalet klasörünü yol olarak gösterdik

    $nereye_kaydedeyim = "adalet/";

    //touch ile yeni dosya oluştur dedik $nereye_kaydedeyim değişkenini içinde çalıştırdık ve

    //dosyanın ismini verdik.

    touch ("$nereye_kaydedeyim/dosyam.txt");

    echo "dosya oluşturuldu"

    ?>

    -------

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

    unlink dosya silmek için kullandığımız komuttur daha önce oluşturduğumuz dosyam.txt dosyasını silelim. KOD46

    ------

    <?php

    unlink ("dosyam.txt");

    echo "dosya silindi"

    ?>

    -------

    KOD47'de de adalet dizininin içine oluştuduğumuz dosyayı silelim KOD47

    -------

    <?php

    //$silinecek_dosya_yolu diye bir değişken oluşturduk adalet klasörünü yol olarak gösterdik

    $silinecek_dosya_yolu = "adalet/";

    //unlink ile dosyayı sil dedik dedik $silinecek_dosya_yolu değişkenini içinde çalıştırdık ve

    //dosyanın ismini verdik.

    unlink ("$silinecek_dosya_yolu/dosyam.txt");

    echo "dosya silindi"

    ?>

    ------

    artık  yavaş yavaş dosyaları işlemeye başlıyoruz  tabiî ki bir dosyayı işlemek için önce onu açmamız gerekiyor.

    fopen komutu dosya açmaya yarıyor file open (dosya aç) manasında. fopen komutuyla Dosya Yazma/Okuma Parametrelerine tekrar göz atmanızı tavsiye ederim.

    ------

    fopen komutunu r parametresiyle kullanırsak dosyayı sadece okur dosya yoksa hata mesajı verir. parametreler dosya ismi çift tırnak içerisinde yazıldıktan sonra virgülle , ayrılarak tek tırnak ‘' içerisinde yazılır. Kodun ekran çıktısı yok. KOD48

    -----

    <?php

    fopen ( "tahribat.txt" , 'r' );

    ?>

    -----

    fopen komutunu w parametresiyle birlikte kullanırsak sadece yazabilir, dosya yoksa sıfırdan oluşturur, dosya varsa içeriğini siler. KOD49 kodun çalışıp çalışmadığını yeni dosyanın oluşup oluşmadığına bakarak anlayabilirsiniz. wparametresi.txt dosyası oluşmuşsa çalışıyor demektir.

    -----

    <?php

    fopen ( "wparmetresideneme.txt" , 'w' );

    ?>

    -----

    fopen komutunu a parametresiyle birlikte kullanırsak dosyayı okur. Dosya yoksa dosyayı sıfırdan oluşturur, dosya varsa dosyanın içeriğinden sonra yazmaya devam eder. KOD50

    -----

    <?php

    $dosya = fopen( "digerdosya.txt" , 'a' );

    ?>

    -----

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

    Sunucunuzun register globals ayarını on yapın. KOD 50 çok kıymetli bir örneğimiz bu kodda $_GET ile veri tutmayı, touch ile dosya oluşturmayı, die komutunu, copy komutunu göreceğiz biraz da geçmiş örneklere döneceğiz bu kodu tekrar ve tekrar incelemenizi tavsiye ederim.

    Kodu yazmadan önce kodu çalıştıracağımız dizin içerisinde tarikatim adında yeni bir dizin açıyoruz ve içini boş bırakıyoruz. KOD50

    -----

    <?php

    $dizin="tarikatim";

    if ( ! $_GET ) {

    touch ($dizin."/muridler.txt") || die ("Dosya oluşturulamadı");

    echo "Dosya yaratıldı. Yarattığımız yeni dosyayı okuduğunuz bu dosyanın bulunduğu dizine kopyalamak için

    <a href='?git=copy'>buraya tıklayın</a>";

    }

    else {

    copy ($dizin."/muridler.txt","muridler.txt") ||

    die ("Dosya Kopyalama İşlemi Başarısızlıkla Sonuçlandı");

    echo "Dosya Kopyalama İşlemi Başarıyla Tamamlandı";

    }

    ?>

    -------

    KOD50'nin incelenmesi:

    1. tarikatim isminde bir değişken oluşturduk $dizin = "tarikatim"; bu bizim tarikatim klasörünü tarif ettiğimiz dosya yolu.

    2. ! işareti kullanarak mantıksal denetlemeyi tersine çevirdik yoksa önce else bölümü çalışacaktı ve get metodunu kullandık  ! $_GET

    3. $dizin değişkeninine verilen değer bizim dosya yolumuzdu touch ($dizin."/muridler.txt") diyerek bu dosya yolunda muridler.txt dosyasını oluşturduk. || veya operatörünü kullanarak die kısmını ilave ettik die komutu fonksiyonun beklenen işi yapamaması durumunda ölmesi yani orada durması anlamına gelir fonksiyon başarısız olursa Dosya oluşturulamadı mesajını verecektir.

    4. touch ($dizin."/muridler.txt") başarılı olursa yani || operatörünün ilk koşulu yerine gelirse echo "Dosya yaratıldı. Yarattığımız yeni dosyayı okuduğunuz bu dosyanın bulunduğu dizine kopyalamak için

    <a href='?git=copy'>buraya tıklayın</a>"; kısmı çalışacak ve echo içinde yazılı kısım gelecek.  <a href='?git=copy'>buraya tıklayın</a> kısmında <a href></a> bildiğimiz html'nin bağ etiketidir. ?git=copy kısmı ise dosya içerisinde copy komutunun olduğu kısmı çalıştırır. bu kısımda else kısmı oluyor.

    5. else kısmına bakınız. burada copy komutunun da kullanımını görüyoruz copy komutu kullanılırken kaynak dosyanın tam yolu virgül , hedef klasörün tam yolu verilir. else kısmında da veya operatörü kullandık ilk koşul copy ($dizin."/muridler.txt","muridler.txt") yerine gelirse echo "Dosya Kopyalama İşlemi Başarıyla Tamamlandı" çalışacak yerine gelmezse die çalışacak Dosya Kopyalama İşlemi Başarısızlıkla Sonuçlandı yazısı ekranda görüntülenecek.

    ----------------

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lekton
    lekton's avatar
    Kayıt Tarihi: 01/Ekim/2005
    Erkek
    hjm  bilgi arşivi var oraya ekleyebilirisin.. zamanla  konu asagılara dusecektır...  ver reneye   koysun... zaten  bilgi bankasında baslanmıstı yarıda kaldı.. olayı sen tamamlamıs olursun.. eline saglık...

    Dikkat: Hazine Ceyhan ırmağının kıyısında iki köprü arasında... kuru ağacın Dibinde...
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    Bu döküman ekim ayının 4-5 ine kadar bu şekilde eklenecek soap uygulamaları ve ajax örnekleriyle sonlanacak, erken bitirebilirsem ki sanmıyorum ucu ucuna yetişir günde 35-40 dakika ayırabiliyorum, hazır sistemlerden oscommerce ve typo üzerinde durmayı düşünüyorum. Şu anda bu dökümandan yararlanan arkadaşlar mutlaka vardır her gün takip edenler mutlaka vardır, zaten ilgilenen bulup okuyacaktır. Bittiğinde düzenlemelerini yapıp word dosyası olarak yollayacağım tarikat nasıl isterse o şekilde kullanılsın. İddiam şu ki html ve css bilen programlamadan hiç anlamayan müridler bu dökümanı baştan aşağıya okuyup uyguladığında çatır çatır php kodlayacaklar ve kafalarında soru kalmadan ekstra kaynağa ihtiyaç duymadan belirli bir seviyeye gelecekler.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    Php Dosyası ile Html Dosyası Yaratmak fclose, fputs ve exit komutları

    KOD51 dosya okuma yazma parametreleri tablosuna bakınız w parametresi için dosya yazmak için kullanılır, dosya yoksa yaratır, dosya varsa içeriğini siler yazmışız.

    Şimdi bu parametreyi kullanarak tarikatim dizini içerisinde bir html dosyası oluşturacağız. Dikkat ederseniz tarikatim klasöründe böyle bir dosya yok yani dosya sıfırdan oluşacak. Bu kodda ayrıca fclose, fputs, exit komutlarının kullanımını da göreceğiz. Bir önceki kodu uygulamayanlar bu kodu çalıştıracağınız klasörün içerisinde tarikatim adında yani bir klasör oluştursun.  KOD51

    ----------------

    <?php

    $dosya_olustur ="tarikatim/index.html";

    $dosyanin_icerigi ="<html>

    <head>

    <title>Dosya Oluşturup İçeriğine Bilgi Giriyoruz</title>

    </head>

    <body>

    müridler php öğreniyor

    </body>

    </html>";

    $link = fopen ($dosya_olustur, 'w');

    if ( ! $link ) {

    echo "Dosyaya bağlanılamadı";

    exit();

    }

    if (fputs( $link, $dosyanin_icerigi) ) {

    echo "Dosyanın İçeriğini Yazdım";

    }

    else {

    echo "Dosyanın İçeriğini Yazamadım";

    }

    fclose($link);

    ?>

    -----

    KOD51'in incelenmesi:

    1. $dosya_olustur ="tarikatim/index.html";  değişken oluşturup dosyamızın adresini tanımladık dosya yolumuz tarikatim klasörü içerisinde index.html

    2. $dosyanin_icerigi ="<html>

    <head>

    <title>Dosya Oluşturup İçeriğine Bilgi Giriyoruz</title>

    </head>

    <body>

    müridler php öğreniyor

    </body>

    </html>"; dosyanın_iceriği adında bir değişken oluşturup dosyanın içine yazdırmak istediğim her şeyi yazdım. Bu içerik dosya sorunsuz çalışırsa yeni oluşturulacak sayfanın içine otomatik olarak yazılacak.

    3. $link = fopen ($dosya_olustur, 'w'); burada link adında bir değişken oluşturdum işlemi olduğu gibi link değişkenine atadım fopen kısmından fclose kısmına kadar dikkatle inceleyin. değişkene dosya bağlantımızı gösterdik,  w parametresini kullandık. if ( ! $link ) {

    echo "Dosyaya bağlanılamadı";

    exit(); burada mantıksal denetlemeyle dosyaya bağlanılıp bağlanılamadığını test ettik ! operatörünün olumsuz yaptığını yani tersine çevirdiğini hatırlatalım. exit(); komutunu bağlantı olmazsa dosyanın okumasının durdurulması için kullandık.

    4. if (fputs( $link, $dosyanin_icerigi) ) {

    echo "Dosyanın İçeriğini Yazdım"; bu kısımda fputs komutu gözümüze çarpıyor fputs dosyaya içerik ekleyen komuttur fputs için ilk önce bağlantı değişkenimizi $link virgül , ve sonra dosyaya yazılacak içeriğini barındıran değişkeni $dosyanın_içeriği yazıyoruz. if yerine gelirse ekrana Dosyanın İçeriğini Yazdım yazısı gelir. if yerine gelmez else devreye girerse Dosyanın İçeriğini Yazamadım yazısı ekrana gelir.

    5. fclose($link);

    ?> bu kısımda fclose komutu dosya kapatmaya yarar burada $link değişkenine bağlamamızın nedeni işlemi olduğu gibi değişkene atamamızdan kaynaklanmıştır.

    ---------

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    METİN DOSYALARINI OKUTMAK

    Metin dosyalarını iki şekilde okutabiliriz.

    1. yol: Dosyadaki tüm veriyi bir kere de okutabiliriz.

    2. yol: Metin dosyalarını satır satır okutabiliriz metin dosyasını veritabanı olarak kullanmayı düşünüyorsak satır satır okutacağız.

    --------

    fpassthru komutuyla metin dosyasını satır satır okutmak

    Metin dosyasını satır satır okutmaya örnek verelim.

    Önce manav.txt adında yeni bir metin belgesi açalım içine birkaç satır meyve ismi yazıp kaydedelim.

    Bu metin belgesi kodun çalışması için kodu kaydedeceğiniz klasörle aynı yerde olmalı. KOD52

    --------

    /* okunacak dosyayı değişkene atadık, eğer dosya başka bir dizinin içerisinde olsaydı dosyanın önüne dizin ismi ve slaj gelecekti */

    $okunacak_dosya = "manav.txt";

    // fonksiyonu $islem değişkenine atayarak yazımı kısalttım

    /* fopen komutuyla okunacak dosyayı yani $okunacak_dosya değişkeninde tanımladığımız dosyayı açtırıp, 'r' parametresiyle de okutuyoruz. */

    $islem = fopen ($okunacak_dosya , 'r');

    //fpassthru komutu işimizi oldukça kısaltıyor verileri satır satır okuyor

    fpassthru ($islem);

    //fclose komutu ile $islem değişkenini kapatıyoruz yani bu değişkene bağladığımız fonksiyonu bitiriyoruz.

    fclose ($islem);

    ?>

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

    KOD53 şimdi yukarıdaki örneğe benzer bir örnek yapalım hatta aynı ekran çıktısını alalım yine satır satır veri okutalım ama fpassthru kullanmayalım işi uzatma amacımız da fgets, feof kullanmayı öğrenmek olsun. Bunların açıklamalarını da hemen yapalım.

    fgets dosyanın içeriğini satır satır okutmamıza olanak verir. fgets kullanırken açacağımız dosyayı tanımladığımız değişken adı ve okunması istenen en az bayt (örneğin 1024)  ölçüsü parametre olarak ilave edilir. fgets verdiğimiz ölçüye ulaşmadan yeni bir satır işareti görürse okumaya son verir, yine fgets dosyanın sonuna ulaşırsa okumaya son verir. fgets genellikle döngülerle kullanılır fgets'in okuyacağı fonksiyonu bir değişkene değer olarak verip bu değeri istediğimiz gibi kullanabiliriz.

    feof (end of file) dosya sonu anlamına geliyor ve dosyanın sonuna ulaşılıp ulaşılmadığını sınıyor, ulaşılmışsa true (doğru) değerini çeviriyor ve dosya sonuna ulaştığında neyin içinde kullanılmışsa onu durduruyor, döngülerde kullandığımızda döngüyü durdurur. Okuma işlemleri durabilen döngülere bağlanmalıdır.

    KOD53 e başlamadan önce kodu çalıştıracağınız klasörün içerisinde adalet ismiyle yeni bir klasör oluşturun ve içine merhaba adında bir metin belgesi oluşturun belgenin içerisine dört beş satır yazı yazıp kaydedin. KOD53

    --------

    //dosyamızın konumunu tanımladık dosyamız adalet klasörünün altında.

    $dosya_yolu = "adalet/";

    /* if koşulumuzun fonksiyonuna bakalım $dosya değişkenine fopen fonksiyonunu atadık dosya yolunu ve dosya adını verip r parametresini ekledik böylece merhaba.txt dosyasını okutturmuş olduk. Dosyayı başarıyla açarsa echo mesajı da sayfanın en üstünde görünecek. */

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

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

    }

    //koşul yerine gelmezse else devreye girecek ve Dosya Açılamadı Mesajı gelecek.

    else {

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

    }

    //while döngümüzün ...iken dön anlamına geldiğini hatırlayalım.

    // ! işaretinin işlemi tersine çevirdiğini de hatırlayalım.

    // !feof dosya sonlanmadıkça demektir. dosya sonlanmadıkça döngü  dönecek

    while ( ! feof ($dosya) ) {

    /* olayımıza gelelim $satir değişkenine olayı tanımladık. fgets kullanarak $dosya değişkeni ve byte cinsinden uzunluk parametresini de vererek */

    //dosyamızı satır satır okutmuş oluyoruz.

    $satir = fgets ( $dosya , 1024 );

    //okunan verinin ekranda görüntülenmesi için

    echo ("$satir
    ");

    }

    /* ve son olarak fclose ile $dosya değişkenini kapatıyoruz çünkü açtığımız metin dosyasını bu değişkene değer olarak atamıştık. */

    fclose ($dosya);

    ?>

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

    foreach kullanarak da dosya okuyabiliriz foreach ın değeri bir değişkenden alıp diğer değişkene aktarma özelliğinden faydalanacağız.  Bir seferde okuma yaptıracağız. Bir önceki örneğimizdeki dosya yolunu ve dosyayı kullanacağız. KOD53

    -------

    <?php

    //$dosya değişkenine merhaba.txt dosyasını değer olarak verdik

    $dosya ="adalet/merhaba.txt";

    //$dosya_oku değişkenimize $dosya değişkenin dosya olduğunu anlatmaya çalışıyoruz :P

    $dosya_oku = file($dosya);

    //döngümüze bakalım $dosya_oku değişkeninin verilerini yani merhaba.txt nin verilerini $ekrana_gonder değişkenine yüklüyoruz

    foreach ($dosya_oku as $ekrana_gonder) {

    //son olarak da $ekrana_gonder değişkeninin taşıdığı veriyi ekranda görüntülülemesi için echo $ekrana_gonder diyoruz.

    echo $ekrana_gonder;

    }

    ?>

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

    join kullanarak aynı sonucu elde edelim bir kerede okuma yapalım.  Bu örnekte de adalet klasörünü merhaba dosyasını kullanıyoruz.  KOD54

    -----

    <?php 

    $dosya = "adalet/merhaba.txt";

    $dosya_oku = file($dosya);

    echo join("",$dosya_oku);

    ?>

    -----

Toplam Hit: 7942 Toplam Mesaj: 71