Dosya Oluşturma
PHP ile server tarafında yeni bir text dosyası oluşturabilir, bu dosya içine yeni veriler ekleyip silebiliriz. Veritabanı gerektirmeyecek kadar küçük uygulamalarda text dosyalarını kullanmak oldukça pratik olabilir. Şimdi bir text dosyasının nasıl oluşturulacağını, bu dosyaya nasıl veri ekleyebileceğimizi ve bu verileri nasıl değiştirebileceğimizi örneklerle anlatmaya çalışacağım.
Dosya Oluşturma
Dosya işlemleri için "fopen()" fonksiyonunu kullanacağız. Programın çalıştığı dizinde yeni bir dosya oluşturmak için kullanacağımız kod;
<?
$dosya = fopen("yeni_dosya.txt","w");
?>
Buradaki "w" parametresi dosyayı ne için kullanacağımızı ayarlamamız için var, "w"nin anlamı sadece yazmak için bir dosya oluşturmak istediğimizi gösteriyor. Diğer parametreler ise şöyle;
| r |
Sadece okumak için dosyaya erişim sağlar. İmleci dosyanın başına taşır. |
| r+ |
Okumak ve yazmak için dosyaya erişim sağlar. İmleci dosyanın başına taşır. |
| w |
Sadece yazmak için dosyaya erişim sağlar. Eğer dosya yoksa, yeni bir dosya yaratır. Eğer dosyada veri varsa sıfırlar. İmleci dosyanın başına taşır. |
| w+ |
Okumak ve yazmak için dosyaya erişim sağlar. Eğer dosya yoksa, yeni bir dosya yaratır. Eğer dosyada veri varsa sıfırlar. İmleci dosyanın başına taşır. |
| a |
Sadece yazmak için dosyaya erişim sağlar. Eğer dosya yoksa, yeni bir dosya yaratır. İmleci dosyanın sonuna taşır. |
| a+ |
Okumak ve yazmak için dosyaya erişim sağlar. Eğer dosya yoksa, yeni bir dosya yaratır. İmleci dosyanın sonuna taşır. |
Hata Kontrolü
Eğer dosya oluşturulamıyor ise işlemlere devam etmemiz hata almamıza neden olacaktır. Dosyanın oluşturulup oluşturulamadığını;
<?
$dosya = fopen("yeni_dosya.txt","a");
//Kontrol
if(!($dosya))
{
echo("Hata: ");
echo("yeni_dosya.txt oluşturulamadı.\n");
exit;
}
?>
şeklide bir kod ile test edebiliriz.
Okuma ve Yazma
Dosyaya Yazma
Dosyaya yeni veri eklemek için "fputs()" fonksiyonunu kullanırız. Şimdi yukarıdaki örneğimize devam ederek, oluşturduğumuz dosyanın içine bazı yazılar yazalım.
$dosya = fopen("yeni_dosya.txt","a");
//Kontrol
if(!($dosya))
{
echo("Hata: ");
echo("yeni_dosya.txt oluşturulamadı.\n");
exit;
}
// dosyaya bazı şeyler yazalım
fputs($dosya, "Örnek yazı 1\n");
fputs($dosya, "Örnek yazı 2\n");
// Dosyayı kapatalım
fclose($dosya);
?>
Dosyadan Okuma
Dosyaya yazdırdığımız veya daha önceden yazdığımız verileri okumak için, Dosyayı okumak için açıp while döngüsüyle dosyanın sonu gelene kadar tüm satırları tek tek ekrana basıyoruz.
Örnek:
//Okumak için dosyaya erişelim
$dosya = fopen("yeni_dosya.txt","r");
//Kontrol
if(!($dosya))
{
echo("Hata: ");
echo("yeni_dosya.txt bulunamadı.\n");
exit;
}
//satır satır okuyalım
while(!feof($dosya))
{
$satir = fgets($dosya, 255);
echo("$satir <br>\n");
}
//dosyayı kapatalım
fclose($dosya);
?>
Örnekleri oku.php ve yaz.php olarak iki ayrı dosya halinde local sunucunuzda test edebilir, parametreleriyle oynayarak nasıl değişik sonuçlar alacağınızı inceleyebilirsiniz. |