PHP ile Dosyaya Yazma

DOSYA’YA YAZMA
PHP ile metin dosyamızın içerisini nasıl okuyabileceğimizi öğrendik.Şimdide dosyaya nasıl yazı yazılacağını öğreneceğiz.Bu işlemi genelde formlardan gelen bilgileri metinlere yazmamızdan ibaret olmaktadır.Mesela bir ziyaretçinin düşüncelerini aktaracağı bir form oluştudunuz.Bu bilgileri mail ile size gelmesini istiyorsunuz ve aynı zamanda bir dosyada da tutulmasını isteyebilirsiniz.
Aslında dosya okuma ile dosya yazma mantık olarak aynıdır.Sadece komutlar değişiktir.Yazma işlemleri için fputs() ile fwrite() komutlarını kullanırız.Bu iki komutun hangisini kullanırsanız kullanın aynı sonucu verir.Çünkü iki komutun görevleride aynıdır.Birde dosyamızı açtıktan sonra yazılacağını belirten w harfi kullanılır.Ama fopen ile kullanılan harflerin bir listesini verelim.

r Sadece okuma işlemleri için kullanılır.
r+ Hem yazma hemde okuma işlemleri için kullanılır
w Sadece yazma işlemleri için kullanılır.Eğer belirtilen adda bir dosya yoksa bir dosya oluşturur.Eğer bu adda bir dosya varsa içeriğini siler ve boş bir dosya haline getirir.
w+ Hem yazma hemde okuma işlemleri için kullanılır.w diğer özelliklerini de barındırır
a Sadece dosya yazma işlemlerinde kullanılır.Dosya varsa dosyada bulunan son bilgiden sonrasına yazar.
a+ a’nın özelliklerini taşır.Ayrıca dosya okur ve dosya yoksa dosyayı oluşturur.

 

Bu tabloda bulunan harflerden hangisi sizin işinizi görüyorsa o harfi kullanın.Ama genelde dosya yazma işlemleri için w kullnılır.Şimdi bir örnek verelim.


$dosya=@fopen("dosya.txt", 'w') or die ("Veritabanını açamadım");
if(fputs($dosya, "$degisken1,$degisken2\n")){
print "Dosyaya kayıt yapıldı.";
}
else {
print "Sistemde bir hatadan dolayı kayıt gerçekleşemedi.";
}

Burada görüldüğü üzere ilk olarak dosya değişkenine metin dosyamızı açıyoruz.Daha sonra bir if deyimi ile fputs komutu ile dosyamıza veri girişi gerçekleşip gerçekleşmediğini sınıyoruz.fputs() komutunun içerisine değişkenleri yazdıktan sonra \n koyuyoruzki her kaydı PHP bir alt satıra yazsın.Eğer bunu koymazsak dosyada imleç nerdeyse oradan itibaren yazma işlemine başlar.Dolayısıyla fgets() komutu ile dosyadaki verileri satır satır okutacaksak bu \n işareti koymamız lazımdır.Başka bir dosya yazdırma methodu:


$dosya=fopen("dosya.txt","w");
$sayac=0;
while( $sayac < 25 ):
$girdi="$saya dosyaya yazılacak yazı\n";
fwrite($dosya, $girdi );
$sayac++;
endwhile;
fclose($dosya);

Burada dosyamıza bir while döngüsü ile “dosyaya yazılacak yazı” cümlesini 25 kere yazdırıyoruz.Yine bu cümlenin sonuna \n işaretini koyarak her cümle bir satıra yazılıyor.

Be the first to comment

Leave a Reply

Your email address will not be published.


*