PHP Fread()-fgets()-Feof() Dosyadan Veri Okuma

Dosya yazılabilir mi, dosya okunabilir mi, dosya var mı yokmu derken asıl meseleye geldik. Dosyadan nasıl veri okuyacağız?

Dosyadan veri okuma işleminin ayrı bir önemi var. Veritabanından veri okumayla aynı mantığa sahip.


PHP Dosya Okuma işlemi fonksiyonları:

Fread() veri okuma

PHP'deki fread() fonksiyonu, açık bir dosyadaki, dosya tarafından başvurulan dosya işaretçisinden uzunluk baytlarını okuyan dahili bir fonksiyondur. Fread() fonksiyonu, dosyanın sonunda veya hangisi önce gelirse, parametre olarak belirtilen, uzunluğa ulaştığında durur. Dosya ve okunması gereken uzunluk fread() fonksiyonu parametre olarak gönderilir ve başarıda okuma dizesini veya hata durumunda FALSE değerini döndürür.

Sözdizimi:

fread(file, length)

file: Gereklidir. Okunacak açık dosyayı belirtir.

length: Gereklidir. Okunacak maksimum bayt sayısını belirtir

Geri dönüş değeri:

Başarı durumunda okuma dizesini veya hata durumunda False değerini döndürür.

ÖRNEK: Dosyadan 10 bayt okuyun:


<?php

$file = fopen("test.txt","r"); 

fread($file,"10");

fclose($file);

?>

ÖRNEK 2: Dosyadaki tüm içeriği okumak için bu örneği kullanın. Burada dosyanın boyutunu hesaplamak için filesize() fonksiyonu kullandık ve uzunluk argümanı olarak veri girdik.


<?php

$file = fopen("test.txt","r");

fread($file,filesize("test.txt"));

fclose($file);

?>

PHP fgets() fonksiyonu

Fgets() fonksiyonu dosyadan ilk satırı okur. Bir dosyayı okumak için önce fopen() fonksiyonu kullanarak dosyayı açmalı ve fgets() fonksiyonu kullandıktan sonra fgets() fonksiyonu kullanarak bir satırı okumalıyız. Açık dosyayı fclose() fonksiyonu kullanarak kapatmalıyız.

Sözdizimi:

fgets(file, length)

file: Gereklidir. Satır döndürülecek açık dosyayı belirtir.

length: İsteğe bağlı. Okunacak bayt sayısını belirtir. Uzunluk değeri bayta ulaşıldığında veya yeni bir satır oluştuğunda veya EOF'da okuma durur. Herhangi bir uzunluk belirtilmezse satır sonuna kadar okunur.

Dosyadan ilk satır içeriğinin tamamını okumak için Aşağıda ki örneği kullanın. Burada, bir 'abc.txt' dosyasını okuma modunda açıyoruz ('r') ve aşağıdaki php örneğinde fgets() fonksiyonu kullanarak bir satır okuyoruz.


<?php

$file=fopen("abc.txt","r");

$readfile=fgets($file); 

echo $readfile;

fclose($file);

//Çıktı: Dosyadan yalnızca ilk tek satırı oku.
?>

feof() Fonksiyonu Dosya Sonu Kontrolü

Feof() fonksiyonu, dosyanın sonuna ulaşılıp ulaşılmadığını kontrol etmek için kullanılır. Döngü için kullanılan bu fonksiyon, ulaşılan dosyanın sonunu kontrol etmek için dosyadan tüm satırları tek tek alır.

Sözdizimi:

feof(file)

file: Gereklidir. kontrol etmek açık dosyayı belirtir.

ÖRNEK: Dosyayı açın, satırları okuyun - EOF'a ulaşana kadar:


<?php

$file = fopen("test.txt", "r");

//EOF'a ulaşılana kadar oku
while(! feof($file)) {

  $line = fgets($file);

  echo $line. "<br>";
}

fclose($file);
?>

İpucu: Bu fonksiyon, uzunluğu bilinmeyen veriler arasında geçiş yapmak için kullanışlıdır.

fgetc() fonksiyonu Dosyadan Karekter oku

PHP'deki fgetc() fonksiyonu, açık bir dosyadan tek bir karakter döndürmek için kullanılan dahili bir fonksiyondur. Belirli bir dosya tanıtıcısından bir karakter almak için kullanılır.

Denetlenecek dosya fgetc() fonksiyonu parametre olarak kullanılır ve parametre olarak kullanılan dosyadan tek bir karakter içeren bir dize döndürür.

Not: Bu fonksiyon yavaştır ve büyük dosyalarda kullanılmamalıdır. Büyük bir dosyadan bir kerede bir karakter okumanız gerekiyorsa, verileri her seferinde bir satır okumak için fgets() kullanın ve sonra fgetc() ile her seferinde tek bir karakter işleyin.

Sözdizimi:

fgetc(file)

file: Gereklidir. Tek bir karakter döndürülecek açık dosyayı belirtir.

Açık dosyayı, karakter karakter okuma:


<?php

$file = fopen("test.txt","r");

while (! feof($file)) {

  echo fgetc($file);
  }
fclose($file);

?>


ÖRNEK 2:Tek bir karekter okuyun.


<?php

$file=fopen("metin.txt","w");

fwrite($file, "php dersleri");

$file=fopen("metin.txt","r");


$readfile=fgetc($file);
echo $readfile;

fclose($file);//ÇIKTI: "p harfi"

?>

Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlanacaktır. Lütfen Yukarıda ki mesajları okuyun tekrar aynı soruları sormayın.

1889

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
  • MİTHRİL FRAMEWORK
  • Laravel
  • Git
  • React
POPÜLER MAKALE
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML RESME LİNK VERME
  • HTML FORM OLUŞTURMA
  • CSS YATAY MENÜ YAPIMI
  • HTML RESİM EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML DİV ve SPAN NEDİR?
  • HTML ARKAPLANA MÜZİK EKLEME
  • KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.