Dosya İçeriğini Okuma ve Silme

 bcakir
 17 Kasım 2011
 Php

Bu yazımda satır satır dosya içeriği okuma ve silme konusuna örnek bir uygulama yapacağız. Daha önce klasör ve dosya işlemleri, dosya ve dizin fonksiyonları ve sunucuya dosya yükleme ve silme yazılarıyla geriye kalan diğer noktaları açıklamıştım. Bu uygulama ile dosya ve dizin konularını tamamlamış olacağız. Uygulamamız; yazilar.txt dosyasına içerik girme ve istenilen içeriği silmeyi kapsayacak. Aşağıda bulunan kodları index.php olarak kaydedin ve aynı dizine yazilar.txt dosyası açmayı unutmayın. Uygulamamız çalışma şekline değindik, şimdi uygulamanın geliştirme aşamasına geçebiliriz.

<?php
//dosyaya silmeden içerik girme (içerik ekleme)
$dosya = fopen('yazilar.txt', 'a');
fwrite($dosya, 'icerik giriniz...'."\n");

//dosyadan içerikleri satır satır okuma
$dosya = fopen('yazilar.txt', 'r');
$sayac=0;
while(!feof($dosya)){
    $yazi[$sayac] = fgets($dosya);
    $sayac++;
}

//dosyadan satır silme
if(isset($_GET['sil'])){
    $sil = $_GET['sil'];
    $kontrol=0;
    for($i=0;$i<$sayac;$i++){
        if($sil!=$i){
            if($kontrol==0){
                $dosya = fopen('yazilar.txt', 'w');
                fwrite($dosya, $yazi[$i]);
            }else{
                $dosya = fopen('yazilar.txt', 'a+');
                fwrite($dosya, $yazi[$i]);
            }
        $kontrol++;
        }
    }
}

//dosyanın içeriğini listeleme
$dosya = fopen('yazilar.txt', 'r');
$sayac=0;
while(!feof($dosya)){
    $yazi[$sayac] = fgets($dosya);
    if (!$yazi[$sayac]==null){
        echo $yazi[$sayac]." <a href='index.php?sil={$sayac}'>Sil</a><br />";
        $sayac++;
    }
}

//dosyayı kapatma
fclose($dosya);
?>

Yukarıda uygulamamızı bölüm bölüm açıkladım. Burada önemli olan, dosyayı okumak (r), yazmak (w) ya da ekleme (a) yapmak için aldığımız izinleri doğru seçmek. Bu izinleri doğru kullandıktan sonra işlemimiz kolaylaşıyor. Tek yapmamız gereken, feof fonksiyonu ile sayfamızı satır satır okumak ve fgets ile dosyadan bu içeriği almak. Daha sonra, dizimize kaydettiğimiz bu verileri listeleme ve silme işlemlerinde kullanabiliriz. Uygulamamızın önemli noktalarını açıklayarak dosya ve dizin işlemlerinin sonuncu yazısını da bitirmiş olduk. Yararlı olması dileğiyle, hoşçakalın.

 2.441 Okunma

Bu yazıya 4 yorum yapılmış.

  1. Güzel ve sade bir anlatım teşekkürler

  2. Bir metin dosyası içinde sadece istediğimiz bir alanı nasıl değiştirebiliriz. Örneğin metin belgemizde satır satır verilerimiz olduğunu var sayalım.
    Adı:”Ali”
    Soyadı:”Şahin”
    Sitesi:”www.bilisimdiyari.com”
    Yaşı:
    vb.
    sadece web sitesi bilgisini değiştirmek istediğimizde nasıl bir yol izlemeliyiz

  3. Bir metin dosyası içinde sadece istediğimiz bir alanı nasıl değiştirebiliriz. Örneğin metin belgemizde satır satır verilerimiz olduğunu var sayalım.

    • Bütün metin belgesi üzerinde string arama yapıp str_replace ile değiştirme yoluna gidebilirsin. Değiştirdikten sonra metni tekrar dosyaya yazdırırsın.

Yazı hakkında görüşlerinizi belirtmek istermisiniz?

Daha fazla Php
Kapat