Beğen @deceze diyor, genellikle cevap hayır. Ancak, işletim sistemi düzeyinde önbellekler, daha hızlı erişim için son kullanılan dosyaları önbelleğe alabilir, ancak kullanılabilir olanlara güvenmem. Her istekte birden çok kez okunan bir dosyayı önbelleğe almak isterseniz, bir sarmalayıcı işlevinin içinde önbellek olarak hareket etmek için statik bir değişken kullanmayı düşünün.
function my_file_read($filename) {
static $file_contents = array();
if (!isset($file_contents[$filename])) {
$file_contents[$filename] = file_get_contents($filename);
}
return $file_contents[$filename];
}
birden çok kez sadece diskten bir defa dosyasını okuyacak my_file_read ($ dosya) çağrılması, sonraki aramalarda işlev içinde statik değişkenin değerini okuyacaktır. Büyük bir dosya ya da sayfa başına sadece bir kez kullanılanlar için bu yaklaşıma güvenmemelisiniz, çünkü statik değişkenin kullandığı bellek isteğin sonuna kadar devam edecektir. Dosyaların içeriğini statik değişkenlerde gereksiz yere tutmak, komut dosyanızın bir bellek kıskacını oluşturmanın iyi bir yoludur.
Kısa yanıt: Hayır. – deceze
file_get_contents temel olarak fopen, fread, fclose vb. Için bir kısayoldur - bu yüzden bir dosya tanıtıcısını açmayı ve yayılmayı hayal etmemeyi hayal ediyorum. – Jimbo
PHP'de '$ cache = true' seçebileceğim bir dosya okuma fonksiyonu var mı? – silkfire