İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Txt dosyaları arasında aktarım

cerkiner

0
İyinet Üyesi
Katılım
25 Haziran 2009
Mesajlar
252
Reaction score
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
İyinet Üyesi
Katılım
25 Haziran 2009
Mesajlar
252
Reaction score
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
İyinet Üyesi
Katılım
20 Temmuz 2005
Mesajlar
2,014
Reaction score
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
İyinet Üyesi
Katılım
25 Haziran 2009
Mesajlar
252
Reaction score
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
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst