Dosya okuma işlemlerinde okuma işlemini tamamen olsada satır satır veya karakter karakter yapsakta, işlemlere hep en baştan başladık.Peki okuma yaparken dosya içinden istediğimizi bir yeri okumak için ne yapmalıyız.Bu işlemde kullanacağımız 3 fonkiyonumuz var.İlk önce bu fonksiyonları kısa kısa tanıyalım.
Ufak birde hatırlatma yapalım.Bu üç fonksiyonda file pointer olarak çalışır.
fseek():
Okuma işlemine başlayacağımız karakter sırasını bu komut ile belirleriz.Kısacası imlecimizi o karaktere almış oluruz.
ftell():
İmlecimizin o anda kaçıncı karaterin önünde olduğunu söyler.
rewind();
İmlecimizin bulunduğu pozisyonu sıfırlar.
Şimdi bunları bir örnek ile inceleyelim.okuma işlemini yaparken fread komutunu kullanıp kaç karakter okuyacağımızı belirteceğiz.şimdi örnek txt dosyamızı oluşturalım.File pointer ile dosyamızı açalım.
dosya.txt
Unutmamanız gerek bişey var.bir sonraki satıra geçerken bir karakter fazla yazmayı unutmayın çünkü “yeni satır” işleminide bir karakter olarak algılıyor.
Ufak birde hatırlatma yapalım.Bu üç fonksiyonda file pointer olarak çalışır.
fseek():
Okuma işlemine başlayacağımız karakter sırasını bu komut ile belirleriz.Kısacası imlecimizi o karaktere almış oluruz.
Kod:
fseek($dosyapointer,20) // İmleci 20. karakterin önüne taşır.
ftell():
İmlecimizin o anda kaçıncı karaterin önünde olduğunu söyler.
Kod:
echo tell($dosyapointer); // imlecimiz kaçıncı karakterin önündeyse o sayıyı verir.
rewind();
İmlecimizin bulunduğu pozisyonu sıfırlar.
Kod:
rewind($dosyapointer); // İmlecimizi 0. pozisyona getirdi.
Şimdi bunları bir örnek ile inceleyelim.okuma işlemini yaparken fread komutunu kullanıp kaç karakter okuyacağımızı belirteceğiz.şimdi örnek txt dosyamızı oluşturalım.File pointer ile dosyamızı açalım.
dosya.txt
Kod:
Satır 1
Satır 2
Satır 3
Satır 4
Kod:
$dosyaadi="dosya.txt";
$dosyapointer=fopen($dosyaadi,"r") or die ("Dosya açılamadı.");
echo "İmlecimiz İlk Anda Şu Konumda : ".ftell($dosyapointer)."<br>"; // imlecimizin konumunu verecek..
fseek($dosyapointer,3); // imlecimizi 3. karakterin önüne alacak.
$okunan=fread($dosyapointer,2); // 3. karakterden itbaren 2 karakter okur.
print "Okunan : ".$okunan;
echo "İmlecimiz Son Anda Şu Konumda : ".ftell($dosyapointer)."<br>"; // imlecimizin konumunu verecek.
Unutmamanız gerek bişey var.bir sonraki satıra geçerken bir karakter fazla yazmayı unutmayın çünkü “yeni satır” işleminide bir karakter olarak algılıyor.
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl