PHP Dosya işleme , fopen();

Son güncelleme: 06.06.2008 16:44
  • Dosya İşleme(Mantık Olarak)
    Dosyaya veri yazarken 3 adım gerekir:

    1. Dosyayı açın.Eğer mevcut değilse oluşturmak gerekecektir.
    2. Verileri dosyaya yazın.
    3. Dosyayı kapatın.

    Benzer şekilde, bir dosyadaki verileri okurken de üç adım kullanılır:

    1. Dosyayı açın. Eğer dosya açılamıyorsa, bunu kabullenip çıkmak gerekir.
    2. Dosyadan verileri okuyun
    3. Dosyayı kapatın.

    Bir dosyayı açmak
    PHP'de bir dosyayı açmak için fopen(); fonksiyonunu kullanırız. Dosyayı açtığımızda, onu nasıl kullanmak istediğimizi belirtmek gerekir. Bu, dosya kipi olarak bilinir.

    Dosya Kipleri
    Sunucu üzerindeki işletim sistemi, açtığınız dosyayla ne yapmak istediğinizi bilmek isteyecektir. Çünkü siz üzerinde çalışırken dosyanın başka bir script tarafından açılıp açılamayacağını ve sizin(script sahibinin) onu o şekilde kullanmaya izninz olup olmadığını bilmesi gerekir. Dosya kipleri, işletim sistemine, diğer insanlardan veya scriptlerden gelen erişim isteklerine karşı nasıl davranacağına karar vermesini sağlayan bir mekanizma sunar. Ayrıca bu bahsettiğimiz dosyaya erişiminiz ve bununla ilgili izniniz olup olmadığını kontrol etmek için bir metot oluşturur.

    Bir dosya açarken üç seçim yapmanız gerekir:

    1. Bir dosyayı sadece okumak için, sadece yazmak için veya hem okumak hem de yazmak için açmak isteyebilirsiniz.
    2. Eğer bir dosyaya yazıyorsanız, dosyanın mevcut içeriğinin üzerine yazabilirsiniz veya dosyanın sonuna yeni veri ekleyebilirsiniz.
    3. Eğer ikilik (binary) dosyalar ve metin dosyaları arasında ayırım yapan bir sistem üzerindeki bir dosyaya yazmaya çalışıyorsanız, bunu belirtmek isteyebilirsiniz.

    fopen(); Kullanmak
    $dosya = fopen("$dizin/reptile.txt", "w");

    fopen() çağrıldığında, iki veya üç parametre kullanılmasını bekler. Genelde bu kod satırında da gösterildiği gibi, iki parametre kullanırsınız.

    fopen() için Dosya Kipleri

    Kip Anlamı
    r Okuma(read) kipi - Dosya başından itibaren okuma için aç.
    r+]/b] Okuma kipi - Dosyayı , başından itibaren okuma ve yazma için aç.
    w Yazma(write) kipi - Dosyayı başından itibaren yazma için aç. Eğer dosya mevcutsa, mevcut içeriği sil. Eğer mevcut değilse, oluşturmaya çalış.
    w+ Yazma kipi - Dosyayı, başından itibaren yazma ve okuma için aç. Eğer dosya mevcutsa, mevcut içeriği sil. Eğer mevcut değilse, oluşturmaya çalış.
    a Ekleme(append) kipi - Dosyayı, eğer mevcutsa mevcut içeriğin sonundan itibaren sadece ekleme yapmak (yazmak) için aç. Eğer mevcut değilse, oluşturmaya çalış.
    a+ Ekleme kipi - Dosyayı, eğer mevcutsa mevcut içeriğin sonundan itibaren ekleme yapmak (yazmak) ve okumak için aç. Eğer mevcut değilse, oluşturmaya çalış.
    b İkilik(binary) kip - Diğer kiplerden biriyle birlikte kullanılır. Eğer dosya sisteminiz ikilik dosyalar ve metin dosyaları arasında ayrım yapıyorsa bunu kullanmak isteyebilirsiniz. Windows sistemleri ayrım yapar, UNIX sistemler yapmaz.

    fopen();'a yapılan çağrı başarısız olursa, fonksiyon false sonucunu döndürecektir. PHP'nin hata mesajını bastırıp kendi mesajınızı girerek hatayla daha sevimli bir şekilde başa çıkabilirsiniz.



    $dosya = @fopen("$dizin/ankaralim.txt", "a");
    if (!$fp) {
    echo "Hatayla karşılaşıldı lütfen daha sonra deneyiniz";
    exit;
    }




    fopen() çağrısının önündeki @ işareti PHP'ye fonksiyon çağrısından doğan hataları bastırılmasını söyler
#06.06.2008 16:44 0 0 0