(PHP 4, PHP 5, PHP 7)
file — Dosya içeriğinin tamamını bir diziye okur
$dosyaismi
[, int $seçenekler
= 0
[, resource $bağlam
]] ) : arrayDosyanın tamamını bir dizi içinde döndürür.
Bilginize:
Dosya içeğini bir dizge olarak döndürmek için file_get_contents() işlevini kullanabilirsiniz.
dosyaismi
Dosya yolu.
fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtebilirsiniz. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakınız. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi edinmek için ise Desteklenen Protokoller ve Sarmalayıcılar bölümüne bakınız.
seçenekler
İsteğe bağlı bu değiştirgede şu sabitlerden bir veya daha fazlasını belirtebilirsiniz:
FILE_USE_INCLUDE_PATH
FILE_IGNORE_NEW_LINES
FILE_SKIP_EMPTY_LINES
FILE_TEXT
FILE_BINARY
ile birlikte kullanılamaz.
FILE_BINARY
FILE_TEXT
ile birlikte kullanılamaz.
bağlam
stream_context_create() işlevi ile oluşturulmuş bir bağlam özkaynağı.
Bilginize: Bağlamsal destek PHP 5.0.0 ile eklenmiştir. Bağlamlar hakkında bilgi edinmek için Akım İşlevleri belgesine bakınız.
Dosyayı bir dizi olarak döndürür. Dizinin her elemanı dosyanın bir satırına
karşılıktır ve satırsonu karakterleri ayrılmaz. Başarısızlık durumunda
işlev FALSE
döndürür.
Bilginize:
FILE_IGNORE_NEW_LINES
sabiti kullanılmadığı sürece dizinin her elemanı bir satırsonu karakteri içerecektir. Bu satırsonu karakterlerinden kurtulmak isterseniz rtrim() işlevini kullanabilirsiniz.
Bilginize: Eğer PHP'nin Macintosh bilgisayarlarda çalışırken veya bu bilgisayarlarda oluşturulmuş dosyalarla çalışırken satır sonlarını tanımamaması gibi bir sorunla karşılaşırsanız, auto_detect_line_endings çalışma anı seçeneğini etkin kılarak bu sorunu çözebilirsiniz.
Sürüm: | Açıklama |
---|---|
6.0.0 |
FILE_TEXT ve FILE_BINARY
seçenekleri desteği eklendi.
|
5.0.0 |
bağlam değiştirgesi eklendi.
|
5.0.0 |
PHP 5.0.0 öncesinde seçenekler değiştirgesi
sadece include_path
yönergesinde belirtilen yolları kapsardı ve daima 1 ile
etkinleştirilirdi.
|
4.3.0 | file() işlevi veriyi ikil kipte okur oldu. |
Örnek 1 - file() örneği
<?php
// Dosyayı bir diziye aktaralım. Bu örnekte HTTP üzerinden
// bir URL sayesinde HTML içeriği okuyacağız.
$lines = file('http://www.example.com/');
// Diziyi döngüye sokarak HTML kaynağını satır
// numaralarıyla birlikte gösterelim.
foreach ($lines as $line_num => $line) {
echo "Satır #<b>{$line_num}</b>: " . htmlspecialchars($line) . "<br />\n";
}
// Diğer bir örnek olarak bir HTML sayfayı bir dizgeye aktaracağız.
// Bunun için file_get_contents() işlevine de bakınız.
$html = implode('', file('http://www.example.com/'));
// PHP 5'ten itibaren isteğe bağlı seçenekler
// değiştirgesini kullanabiliriz
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>
Microsoft IIS, SSL kullanırken bir close_notify göndermeden bağlantıyı kapatarak protokolle çelişir. Verinin sonuna ulaştığınız zaman PHP bunu "SSL: Fatal Protocol Error" (SSL: "Ölümcül Protokol Hatası") olarak raporlar. Bu sorunu bertaraf etmek için error_reporting değerini uyarıları içermeyecek bir seviyeye indirmek gerekir. PHP, akımı https:// şemasını kullanarak açarsanız hatalı IIS sunucu yazılımını saptayıp uyarıları engelleyebilir. Bir ssl:// soketi oluşturmak için fsockopen() kullanılacaksa uyarıları saptayıp engellemekten geliştirici sorumludur.