readfile

(PHP 4, PHP 5, PHP 7, PHP 8)

readfileBir dosyayı çıktılar

Açıklama

readfile(string$dosyaismi, bool$include_path_kullan = false, ?resource$bağlam = null): int|false

Bir dosyayı okuyup çıktı tamponuna yazar.

Bağımsız Değişkenler

dosyaismi

Okunacak dosya.

include_path_kullan

Dosyanın include_path yolunda da aranmasını istiyorsanız bu isteğe bağlı bağımsız değişkene true atamalısınız.

bağlam

Akım bağlamı özkaynağı.

Dönen Değerler

Herşey yolunda gitmişse dosyadan okunan baytların sayısı, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - readfile() kullanarak dosya indirmeyi zorlamak

<?php
$file
= 'monkey.gif';

if (
file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Aç / Kaydet penceresi

Notlar

Bilginize:

readfile() kendi başına büyük dosyalar gönderirken bile herhangi bir bellek sorunu ortaya çıkmaz. Yetersiz bellek hatasıyla karşılaşırsanız, ob_get_level() kullanarak çıktı tamponlamasının kapalı olduğundan emin olun.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Ayrıca Bakınız

To Top