file_get_contents() ile okuma
file_get_contents() ile bir dosyanın tüm içeriğini dize olarak okumayı öğrenirsin.
file_get_contents() ile dosya okuma
PHP'de bir dosyanın tüm içeriğini tek seferde dize olarak okumak için file_get_contents() fonksiyonunu kullanırsın. fonksiyon, dosya yolunu parametre olarak alır ve içeriği döndürür.
Örnek: $content = file_get_contents('mesaj.txt'); satırı mesaj.txt dosyasını okur ve içeriğini $content değişkenine atar. Daha sonra bu dizeyi echo ile ekrana yazabilir, parçalayabilir ya da başka bir fonksiyona geçebilirsin.
Dosya bulunamazsa fonksiyon false döner. Bu yüzden üretim kodlarında dönen değeri kontrol etmek iyi bir alışkanlıktır.
Dosya yolu ve __DIR__ kullanımı
file_get_contents() dosya yolunu göreceli ya da mutlak olarak alır. Üretim kodlarında betiğin bulunduğu dizini temel almak için __DIR__ sihirli sabiti çok kullanışlıdır.
Örnek: file_get_contents(__DIR__ . '/ayarlar.txt') çağrısı, çağrıldığı PHP dosyasıyla aynı klasördeki ayarlar.txt dosyasını okur. Bu, betiği farklı dizinlerden çağırsan bile yolun doğru kalmasını sağlar.
Yol ayırıcı olarak dizin ayracı ile dize arasında '/' kullandığımıza dikkat et. PHP hem Linux hem Windows'ta / kabul eder.
Uygulama Dosyayı oku ve ekrana yaz
Önce file_put_contents() ile mesaj.txt dosyasına 'Merhaba PHP' yaz (hazır kısım). Sonra file_get_contents() ile dosyayı __DIR__ kullanarak oku, içeriği $content değişkenine ata ve echo ile ekrana yaz.
Örnek çözümü göster
file_get_contents(__DIR__ . '/mesaj.txt') cagrisini $content degiskenine ata, sonra echo $content; ile ekrana yaz.
Örnek çözüm:
<?php
// Dosyaya örnek içerik yaz
file_put_contents(__DIR__ . '/mesaj.txt', 'Merhaba PHP');
// Dosyayı oku
$content = file_get_contents(__DIR__ . '/mesaj.txt');
// Ekrana yaz
echo $content;
Kendini test et
-
file_get_contents('veri.txt') başarılı olursa ne döner?
- Dosya tanıtıcısını (resource) döner
- Dosyanın içeriğini bir dize olarak döner
- Kaç byte okunduğunu bir tamsayı olarak döner
- Hiçbir şey döndürmez, void'tir
Cevabı göster
Dosyanın içeriğini bir dize olarak döner — Doğru. file_get_contents() dosyanın tüm içeriğini tek bir dize olarak döndürür.
-
Dosyayı dize olarak oku
$content = ____(__DIR__ . '/mesaj.txt');Cevabı göster
$content = file_get_contents(__DIR__ . '/mesaj.txt'); -
file_get_contents kavramlarını eşleştir
- file_get_contents()
- Tüm dosyayı dize olarak okur
- Dosya yolu
- İlk parametredir
- __DIR__
- Betiğin dizinini verir
- false
- Dosya bulunamazsa döner