• 15-01-2021, 11:34:40
    #1
    Merhaba R10!

    Örnek veriyorum benim .txt dosyası içerisinde şu tarz bir yazım var alt alta

    ahmet
    mehmet
    ceren
    secil


    Bu isimlerin başına php ile ; işaretini bir türlü koyduramadım satır sonunu algılatamadım nasıl yapabilirim acaba bu işlem gerçekleşinde işlem çıktısı şöyle olmalı.

    ;ahmet
    ;mehmet
    ;ceren
    ;secil
  • 15-01-2021, 11:46:47
    #2
    Üyeliği durduruldu
    // önce dosya içeriğini çektik
    $dosya_icerigi = file_get_contents('dosya.txt');
    // regex ile satır başlarına ; ekledik
    $yeni_dosya_icerigi = preg_replace('/^/m', ';', $dosya_icerigi);
    // dosyayı kaydettik
    file_put_contents('dosya.txt', $yeni_dosya_icerigi);
    • File_get_contents fonksiyonu belirtilen konumdaki dosyanın içeriğini getirir.
    • Preg_replace fonksiyonu belirtilen Regex'e uyan sonuçları belirtilen string ile değiştirir. ^ işareti Regex'te satır başı anlamına gelir. /m ile Regex seçicisinin multiline yani çoklu satır seçmesini sağlar.
    • File_put_contents fonksiyonu belirtilen konuma dosya içeriğini yazar.
  • 15-01-2021, 11:49:39
    #3
    awoken adlı üyeden alıntı: mesajı görüntüle
    // önce dosya içeriğini çektik
    $dosya_icerigi = file_get_contents('dosya.txt');
    // regex ile satır başlarına ; ekledik
    $yeni_dosya_icerigi = preg_replace('/^/m', ';', $dosya_icerigi);
    // dosyayı kaydettik
    file_put_contents('dosya.txt', $yeni_dosya_icerigi);
    • File_get_contents fonksiyonu belirtilen konumdaki dosyanın içeriğini getirir.
    • Preg_replace fonksiyonu belirtilen Regex'e uyan sonuçları belirtilen string ile değiştirir. ^ işareti Regex'te satır başı anlamına gelir. /m ile Regex seçicisinin multiline yani çoklu satır seçmesini sağlar.
    • File_put_contents fonksiyonu belirtilen konuma dosya içeriğini yazar.
    Çok teşeşkürler @awoken;
  • 15-01-2021, 11:56:07
    #4
    @awoken; Peki son bir şey daha sormak istiyorum örnek veriyorum eğer bütün satır başlarında ;(noktalı virgül) var ise AÇIK yazıdırcam yok ise KAPALI yazıdırcam bu mümkünmü ?
  • 15-01-2021, 12:00:26
    #5
    Üyeliği durduruldu
    ardakarakas adlı üyeden alıntı: mesajı görüntüle
    @awoken; Peki son bir şey daha sormak istiyorum örnek veriyorum eğer bütün satır başlarında ;(noktalı virgül) var ise AÇIK yazıdırcam yok ise KAPALI yazıdırcam bu mümkünmü ?
    Dosya İçeriği:
    ;ahmet
    mehmet
    ceren
    ;secil
    Kod:
    // önce dosya içeriğini çektik
    $dosya_icerigi = file_get_contents('dosya.txt');
    // PHP_EOL = satır ayracı. Explode ile satırlara ayırıyoruz.
    $satirlar = explode(PHP_EOL, $dosya_icerigi);
    // foreach ile satırlarda dolaşıyoruz.
    foreach($satirlar as $satir) {
      echo $satir.' -------------> ';
      // eğer satırın ilk karakteri ; ise
      if($satir[0] === ';') {
        echo 'AÇIK';
      }
      else {
        echo 'KAPALI';
      }
      echo '<br/>';
    }
    Çıktı:
    ;ahmet -------------> AÇIK
    mehmet -------------> KAPALI
    ceren -------------> KAPALI
    ;secil -------------> AÇIK
    Edit: Yanlış okumuşum ben soruyu. Tüm satırların ; ile başladığı da şöyle kontrol edilir.
    $dosya_icerigi = file_get_contents('dosya.txt');
    // PHP_EOL = satır ayracı. Explode ile satırlara ayırıyoruz.
    $satirlar = explode(PHP_EOL, $dosya_icerigi);
    $DURUM = '';
    // foreach ile satırlarda dolaşıyoruz.
    foreach($satirlar as $satir) {
      // eğer satırın ilk karakteri ; ise
      if($satir[0] === ';') {
        $durum = 'AÇIK';
      }
      else {
        $durum = 'KAPALI';
        break;
      }
    }
    print $durum;
  • 15-01-2021, 12:02:56
    #6
    Çok ama çok teşekkürler
  • 15-01-2021, 13:21:42
    #7
    Peki arkadaşım şey bunların başlarına ; koydurduk ya hani peki bunları geri nasıl sildiricez ben buton ile post yolluyorum tamam ama bunları geri nasıl sildirme yapacağız?