(PHP 4, PHP 5, PHP 7, PHP 8)
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 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.
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. Akım İşlevleri belgesinden
Bağlamlar
hakkında bilgi edinilebilir.
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şılaşılırsa, auto_detect_line_endings çalışma anı seçeneği etkin kılınarak bu sorun çözülebilir.
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ı kullanılarak açılırsa
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.