Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Txt dosyaları arasında aktarım

cerkiner

0
Onaylı Üye
Üye
Katılım
25 Haziran 2009
Mesajlar
252
Açılan Konu
16
Tepki puanı
1
Konum
Eskişehir
işlemden önce

kontrol.txt
Kod:
1
text1.txt
Kod:
4
5
text2.txt
Kod:
1
2
3
işlemden sonra olmması istenilen


kontrol.txt
Kod:
0
text1.txt
Kod:
text2.txt
Kod:
1
2
3
4
5
kullandığım kod

PHP:
<?
    if ($doskontrol = (fopen ("../" . $db_yol . "kontrol.txt" , 'r' ) ) ) {
    $kontrol = fgets ( $doskontrol, 10 );
    }  //kontrol dosyasından veri aldım
    if ( $kontrol != "0") { //eğer text1in içinde yeni veri var ise (yok değil ise)
    fclose ($dosyan);   //Daha önceden açık olduğu için kapatıp 'r' modunda tekrar açtm.
    $dosyan = (fopen ("../" . $db_yol ."text1.txt" , 'r') );
    while ( ! feof  ($dosyan) ) {
    $satir = fgets ( $dosyan, 1024 ) ; //text1den verileri satır satır alıp text2nin sonuna ekliyorum.
    if ( $satir != "") { //nedenini anlamadığım bişekilde alt satıra fln geçiodu engellemek için koydum işe yaramadı
    $entry .= sprintf("$satir\r\n");
    $handle = fopen("../" . $db_yol . "text2.txt", "a+");
    if (!$handle) die("Can't perform operation!");
    if (!fwrite($handle, $entry)) die("Can't perform operation!");
    fclose($handle);
    }
        fclose ($dosyan);
    }
  
    $kontrol = "0"; //kontrol dosyasını işlemi birdaha yapmaması için veri girdim
    $handle = fopen("../" . $db_yol . "kontrol.txt", "w");
    if (!$handle) die("Can't perform operation!");
    if (!fwrite($handle, $kontrol)) die("Can't perform operation!");
    fclose($handle);

    unlink ("../" . $db_yol . "text1.txt"); //text1in içini tamamen sildim
    touch ("../" . $db_yol . "text1.txt");
}
?>

Ben nerde hata yaptım bitürlü beceremedim bu işi anlayan varsa bi kontrol edebilirmi kodları? varsa bu işlemi yapabilecek alternatif kodlar fonksiyonlar fln kodum ve ben herzaman açığız yeniliklere xD
 

cerkiner

0
Onaylı Üye
Üye
Katılım
25 Haziran 2009
Mesajlar
252
Açılan Konu
16
Tepki puanı
1
Konum
Eskişehir
txt dosyasının içine yazarken alt satıra geçmeden 1<br>2<br>... şeklinde yazmaya çalıştım böylece hem while döngüsünü kullanıp gereksiz boşluklar elde etmicem hemde print yapınsa istediğim sonucu elde edicem.
ama olmuyor aşşadaki kodu kulanıyorum ama text2 dosyasına 2 satır olarak yazıo. nasıl tek satır olarak yazdıra bilirim vede o tek satırın tamamını okutturabilirim tek satır olduğu için bir süre sonra baya uzun olcak.

yada yukardaki mesajdaki sorunu çözebilecek var mı aranızda???


PHP:
<?
if ($doskontrol = (fopen ("../" . $db_yol . "kontrol.txt" , 'r' ) ) ) {
    $kontrol = fgets ( $doskontrol, 10 );
    }
    if ( $kontrol != "0") {
    fclose ($dosyan);    
    $dosyan = (fopen ("../" . $db_yol ."text1.txt" , 'r') );
    
    $dosya = (fopen ("../" . $db_yol ."text2.txt" , 'r') );
    
    $satirn = fgets ( $dosyan, 1024 ) ;
    
    $satir = fgets ( $dosya, 1024 ) ;
    
    $entry = $satir . $satirn;
    
    fclose ($dosya);
    fclose ($dosyan);
    
    $handle = fopen("../" . $db_yol . "text2.txt", "w");
    if (!$handle) die("Can't perform operation!");
    if (!fwrite($handle, $entry)) die("Can't perform operation!");
    fclose($handle);

        
    
    $yk = "0";
    $handle = fopen("../" . $db_yol . "kontrol.txt", "w");
    if (!$handle) die("Can't perform operation!");
    if (!fwrite($handle, $yk)) die("Can't perform operation!");
    fclose($handle);

    unlink ("../" . $db_yol . "text1.txt");
    touch ("../" . $db_yol . "text1.txt");
}
?>
 

*siber*

0
Onaylı Üye
Üye
Katılım
20 Temmuz 2005
Mesajlar
2,014
Açılan Konu
108
Tepki puanı
1
Konum
about:blank
Verilerini alt alta yazdırmak için
$dosya = (fopen ("../" . $db_yol ."text2.txt" , 'r') );
yerine

$dosya = (fopen ("../" . $db_yol ."text2.txt" , 'a') );

Birde sorularını çoğul değil de, çözüme ulaşacak yolu bulman için tek tek yönelterek hem daha hızlı cevap alırsın, hemde kendini geliştirirsin.
 

cerkiner

0
Onaylı Üye
Üye
Katılım
25 Haziran 2009
Mesajlar
252
Açılan Konu
16
Tepki puanı
1
Konum
Eskişehir
Verilerini alt alta yazdırmak için

yerine



Birde sorularını çoğul değil de, çözüme ulaşacak yolu bulman için tek tek yönelterek hem daha hızlı cevap alırsın, hemde kendini geliştirirsin.

yok ztn cwp gelmeyince çözdüm kendim.
text2.txt nin ilk halinde 2 satır varmış. onu düzelttim ikinci mesajımda kodla mükemmel oldu ;) çok saol yinede

yine beklerim başka sorularıma xD
 
Üst