fread

(PHP 4, PHP 5, PHP 7)

freadDosyayı ikil kipte okur

Açıklama

fread ( resource $dt , int $uzunluk ) : string

fread() işlevi, dt dosya tanıtıcısı ile belirtilen dosya akımından uzunluk bayta kadar veri okur. Okuma işlemi aşağıdaki koşullardan biri sağlanır sağlanmaz durur:

  • uzunluk bayt okununca.
  • Dosya sonuna ulaşılınca.
  • Bir paket kullanılabilir hale gelince (ağ akımları için).
  • 8192 bayt okununca (akım kullanıcı alanında açıldıktan sonra).

Değiştirgeler

dt

Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.

uzunluk

Okunacak azami bayt sayısı.

Dönen Değerler

Hata durumunda FALSE aksi takdirde okunan dizge döner.

Örnekler

Örnek 1 - Basit bir fread() örneği

<?php
// bir dosyanın içeriğini bir dizge olarak okuyalım
$dosya "/usr/local/birmetin.txt";
$dt fopen($dosya"r");
$içerik fread($dtfilesize($dosya));
fclose($dt);
?>

Örnek 2 -İkil fread() örneği

Uyarı

İkil ve metin dosyaları farklı ele alan sistemlerde (Windows gibi) dosya açılırken fopen() işlevinin kip değiştirgesine 'b' harfi dahil edilmelidir.

<?php
$dosya 
"c:\\files\\birresim.gif";
$dt fopen($dosya"rb");
$içerik fread($dtfilesize($dosya));
fclose($dt);
?>

Örnek 3 - Uzak fread() örnekleri

Uyarı

Okuma işlemi sıradan bir dosyadan değil de popen() ve fsockopen() işlevinden veya uzak dosyalar okunurken dönen akımlardan yapılıyorsa bir paket kullanılabilir hale gelince okuma işlemi durur. Yani, veriyi aşağıdaki örnekte gösterildiği gibi parçalar halinde toplamalısınız.

<?php
// PHP 5 ve sonrası için
$dt fopen("http://www.example.com/""rb");
$içerik stream_get_contents($dt);
fclose($dt);
?>
<?php
$dt 
fopen("http://www.example.com/""rb");
$içerik '';
while (!
feof($dt)) {
  
$içerik .= fread($dt8192);
}
fclose($dt);
?>

Notlar

Bilginize:

İstediğiniz bir dosyanın içeriğini bir dizge olarak almaksa, yukarıdaki koddan çok daha iyi başarım sağlayan file_get_contents() işlevini kullanın.

Bilginize:

fread() işlevinin mevcut dosya konumundan okuduğuna dikkat edin. Dosya konumlayıcının mevcut konumunu öğrenmek için ftell(), konumu dosyanın başına taşımak için rewind()işlevini kullanın.

Ayrıca Bakınız

  • fwrite() - Dosyaya ikil kipte yazar
  • fopen() - Bir dosya veya URL'yi açar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar
  • popen() - Bir süreç tanıtıcısı açar
  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fgetss() - Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • file() - Dosya içeriğinin tamamını bir diziye okur
  • fpassthru() - Bir dosya tanıtıcısında kalan verinin tamamını çıktılar
  • ftell() - Dosya okuma/yazma konumlayıcının mevcut konumu ile döner
  • rewind() - Bir dosya tanıtıcısında konumu başa taşır