lostyazilim
tr.link

PHP dosya okuma yazma kodlarında "=" nasıl kullanacağım?

3 Mesajlar 1.384 Okunma
lstbozum
tr.link

passkeys passkeys WM Aracı Kullanıcı
  • Üyelik 28.04.2015
  • Yaş/Cinsiyet 35 / E
  • Meslek serbest
  • Konum Aydın
  • Ad Soyad H** B**
  • Mesajlar 5
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
index.php kodu aşağıdadır.
dosyalar.txt 'nin içine tek satır halinde veri ekliyor.(ali 50 veli 80 gibi)
ben her eklenen verini diğer satıra geçmesini istiyorum ve veriler arasında "=" kullanmasını istiyorum.

dosyalar.txt

ali=100
veli=80
hasan=25

gibi kayıt yapmasını istiyorum



if(isset($_POST['gonder'])){//gönder butonuna basıldıysa
$ad =$_POST['ad'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
$vize =$_POST['vize'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
$yaz =fopen("dosyam.txt","a+");//dosyam.txt sonuna yazma metodnda açılıyor
fputs($yaz,"$ad\t$vize\n");//açılan dosyanın içerisine \t ile formatlıbir şekilde yazılıyor
fclose($yaz);//açılan dosya kapatılıyor
}//gönder butonuna basıldıysa sonu
if(isset($_POST['Sil'])){//sil butonuna basıldıysa
$ID =$_POST['ID'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
$ac =fopen("dosyam.txt","r");//dosyam.txt okuma metodunda açılıyor
$gecici =fopen("gecici.txt","w");//gecici.txt yazma metodunda açılıyor
$sayac =0;//sayac değişneninin ilk değeri 0 yapılıyor
while(!feof($ac)){//açılan dosyanın sonuna kadar dönülüyor
$deger=fgets($ac);//açılan dosyadan bir satır okunuyor
if(in_array($sayac,$ID)==FALSE){//eğer sayac $ID dizisinin içerisinde bulunmuyorsa aşağıdaki işlemler yapılır yani silinecek elemanlar içerisinde yoksa
fputs($gecici,$deger);//geçicinin içerisine okunan değer yazılıyor
}//
$sayac++;//sayacı bir arttır
}//dosyanın sonuna kadar dönme sonu

fclose($ac);//açılan dosya kapatılıyor
fclose($gecici);//açılan dosya kapatılıyor
unlink("dosyam.txt");//dosyam.txt dosyası siliniyor
rename("gecici.txt","dosyam.txt");//gecici.txt nin adı dosyam.txt olarak değiştiriliyor
}//sil butonuna basıldıysa sonu
if(isset($_POST['kaydet'])){//kaydet butonuna basıldıysa
$ad =$_POST['Ad'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
$vize =$_POST['vize'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
$ID =$_POST['ID'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
$ac=fopen("dosyam.txt","r");//dosyam.txt okuma metodunda açılıyor
$gecici=fopen("gecici.txt","w");//gecici.txt yazma metodunda açılıyor
$sayac=0;//sayac değişneninin ilk değeri 0 yapılıyor
while(!feof($ac)){//açılan dosyanın sonuna kadar dönülüyor
$deger=fgets($ac);//açılan dosyadan bir satır okunuyor
if($ID==$sayac){//gelen düzeltilmiş verinin ıdsi ile sayac uyuşuyorsa
fputs($gecici,"$ad\t$vize\n");//düzeltişmiş veriyi gecici.txt ye formatlı yaz
}else{//uyuşmuyorsa
fputs($gecici,$deger);//geçicinin içerisine okunan değer yazılıyor
}//uyuşmuyorsa sonu
$sayac++;//sayacı bir arttır
}//dosyanın sonuna kadar dönme sonu

fclose($ac);//açılan dosya kapatılıyor
fclose($gecici);//açılan dosya kapatılıyor
unlink("dosyam.txt");//dosyam.txt dosyası siliniyor
rename("gecici.txt","dosyam.txt");//gecici.txt nin adı dosyam.txt olarak değiştiriliyor
}//kaydet butonuna basıldıysa sonu
foreach($_POST as $veri=>$anahtar){//gelen tüm post veriler taranıyor
if($anahtar=='Duzenle'){//eğer $anahtar duzenle ise
$ac=fopen("dosyam.txt","r");//dosyayı okuma modunda aç
$sayac=0;//sayaç değişkeninin ilk değeri 0
while(!feof($ac)){//dosyanın sonuna kadar dönülüyor
$okunan=fgets($ac);//açılan dosyadan 1 satır okunuyor
if($veri==$sayac){//sayac ile gelen veri değeri eşit ise
$parcala=explode("\t",$okunan);//okunan değeri formatlı yazdırdığımız şekilde yani \t ile parçalara ayırıyoruz
echo "
AD:

vize:



";//ekrana verileri düzenleyebileceğimiz tablo konuluyor
}//sayac ile gelen veri değeri eşit ise sonu
$sayac++;//sayac 1 arttırılıyor
} //dosyanın sonuna kadar dön sonu

fclose($ac);//açılan dosya kapatılıyor
}//eğer $anahtar duzenle ise sonu
}//gelen tüm post veriler taranıyor sonu
if(file_exists("dosyam.txt")){//dosyam.txt var ise
$ac=fopen("dosyam.txt","r");//dosyam.txt okuma modunda açılıyor
echo "
";//bir form açılıyor ve ekrana 2 pixel çizgi genişliğine sahip tablo açılıyor
echo "";//başlıklar atılıyor
$sayac=0;//sayac değişkeninin ilk değeri 0 yapılıyor
while(!feof($ac)){//dosyanın sonuna kadar dönülüyor
$okunan=fgets($ac);//dosyadan tek satır okunuyor
if(empty($okunan))continue;//okunan değer boş ise aşağıdaki işlemleri yapmadan while a dön
$parcalanan=explode("\t",$okunan);//verileri \t ile parçalıyor
echo "";//satır açılıyor
foreach($parcalanan as $veri){//parçalanan değerin sonuna kadar dönülüyor
echo "";//veri ekrana yazdırılıyor
}//parçalanan değerin sonuna kadar dönülüyor sonu
echo "";//düzenle butonu konuluyor
$sayac++;//sayac arttırılıyor
}
echo "
AdVizeDuzelt
$veri
";//tablo ve form kapatılıyor
fclose($ac);//açılan dosya kapatılıyor
}//dosyam.txt var ise sonu
?>

ad:

vize:




 

 

wmaraci
reklam

ozolcay ozolcay Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 27.04.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek Bilgisayar Programcısı
  • Konum Eskişehir
  • Ad Soyad O** Ö**
  • Mesajlar 49
  • Beğeniler 4 / 7
  • Ticaret 14, (%64)
Veriler aşağıdaki şekilde mi olacak eşittir nereye gelecek örnek veri yazarsanız yardımcı olalım.

ali
50
veli
30
 

 

passkeys passkeys WM Aracı Kullanıcı
  • Üyelik 28.04.2015
  • Yaş/Cinsiyet 35 / E
  • Meslek serbest
  • Konum Aydın
  • Ad Soyad H** B**
  • Mesajlar 5
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
şimdi;

ali=50 => 1.satır
veli=10 => 2.satır

böyle dewam edecek. = den kastım 2 veri arasında olacak yani

Ek Olarak:

ozolcay adlı üyeden alıntı

Veriler aşağıdaki şekilde mi olacak eşittir nereye gelecek örnek veri yazarsanız yardımcı olalım.

ali
50
veli
30


dosyam.txt

ali=50
veli=25
hasan=100
.
.
.

gidecek

1. satırda bulunanlar 1. girilen kayda ait olacak

1.isim=vize=yaş=bölüm
2.isim=vize=yaş=bölüm
3.isim=vize=yaş=bölüm

böyle bir kod var ama kullanamadım

if(fputs($dosya, "$ad=$mail=$sehir=$grs=\r\n"))
//buradaki eşittir ler önemli oku.php bu eşittir lere kadar okuyup tablo tablo yazdıracak
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al