• 30-11-2017, 02:03:21
    #1
    Aşağıdaki kod ile txt'de arama yaptırıp sonuca göre işlem yapıyorum. 100 satırlık txt'de Mehmet isminin bulunduğu satırın hemen altına yeni eklenecek bilgileri nasıl yazdırabilirim?
    Örnek txt;
    isim: ahmet
    isim: hüseyin
    isim: mehmet
      /// Yeni eklenecek veri
    isim: emine
    isim: merve
    $ara = 'mehmet';
    $file = file("dosya.txt");
    for($i=0; $i<count($file); $i++):
    preg_match_all("/^.*$ara.*\$/m",$file[$i],$bul);
    if(!empty($bul[0])):
    //bulunan kelime ve yapılacak işlemler
    endif;
    endfor;
  • 30-11-2017, 02:16:57
    #2
    AristotLe adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki kod ile txt'de arama yaptırıp sonuca göre işlem yapıyorum. 100 satırlık txt'de Mehmet isminin bulunduğu satırın hemen altına yeni eklenecek bilgileri nasıl yazdırabilirim?
    Örnek txt;
    isim: ahmet isim: hüseyin isim: mehmet /// Yeni eklenecek veri isim: emine isim: merve
    $ara = 'mehmet'; $file = file("dosya.txt"); for($i=0; $i<count($file); $i++): preg_match_all("/^.*$ara.*\$/m",$file[$i],$bul); if(!empty($bul[0])): //bulunan kelime ve yapılacak işlemler endif; endfor;
    .\n
    alt satıra geçebilirsin
    Edit : kod editörü hatalı göstermiş.
    baştaki (.) nokta işaretini silmeyi unutma
  • 30-11-2017, 03:01:40
    #3
    siz tamamen yanlış anlamışsınız. alt satıra geçmeyi biliyorum. üstte verdiğim örneği inceleyin.
  • 30-11-2017, 03:23:08
    #4
    $ara    = "mehmet";
    $dosya    = "test.txt";
    $oku    = file($dosya);
    $yeni    = "";
    for($i=0; $i<count($file); $i++) {
        $yeni .= $file[$i]."\n";
        if (strpos($file[$i], $ara) !== false) {
            $yeni .= 'ekle'."\n";
        }
    }
    $kaydet = fopen($dosya, 'a+');
    fwrite($kaydet, $yeni);
    fclose($kaydet);
  • 30-11-2017, 03:35:05
    #5
    teşekkürler. sorun çözüldü.