PHP Dosya Açma/Okuma/Kapama

Bu bölümde, sunucuda dosyaları açma, okuma ve kapatma nasıl yapılacağını anlatacağız.

PHP Açık Dosya - fopen()

Dosyaları açmanın daha iyi bir yolu fopen() fonksiyonudur. Bu fonksiyon size readfile() fonksiyonundan daha fazla seçenek sunar.

Kurs boyunca, "webdictionary.txt" metin dosyasını kullanacağız:

AJAX = Asenkron JavaScript ve XML
CSS = Takma Stil Kağıtları
HTML = Hyper Metin İmleri Dili
PHP = PHP Hypertext İşleyicisi
SQL = yapılandırılmış sorgu dili
SVG = ölçeklenebilir vektör grafikleri
XML = Genişletilebilir İşaret Dili

fopen() fonksiyonunun ilk parametresi, açılan dosyanın adını içerir, ikinci parametre, dosyayı açma modunu belirler. Eğer fopen() fonksiyonu belirtilen dosyayı açamazsa, aşağıdaki örnekte bir mesaj oluşturulur:

Örnek

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Dosya açılamıyor!");
echo fread($myfile, filesize("webdictionary.txt"));
fclose($myfile);
?>

Çalıştırma Örneği

İpucu:Sonraki olarak fread() ve fclose() fonksiyonlarını öğreneceğiz.

Dosya aşağıdaki modlardan biriyle açılır:

Mod Açıklama
r Dosyayı sadece oku modunda açın. Dosya işaretçisi dosya başında başlar.
w Dosyayı sadece yaz modunda açın. Dosya içeriği silinir veya dosya mevcutsa yeni bir dosya oluşturulur. Dosya işaretçisi dosya başında başlar.
a Dosyayı sadece yaz modunda açın. Dosyada mevcut veriler korunur. Dosya işaretçisi dosya sonunda başlar. Eğer dosya yoksa yeni bir dosya oluşturun.
x Yeni dosyayı sadece yaz modunda oluşturun. Eğer dosya varsa, FALSE ve hata döner.
r+ Dosyayı oku/yaz modunda açın, dosya işaretçisi dosya başında başlar.
w+ Dosyayı oku/yaz modunda açın. Dosya içeriği silinir veya dosya mevcutsa yeni bir dosya oluşturulur. Dosya işaretçisi dosya başında başlar.
a+ Dosyayı oku/yaz modunda açın. Dosyada mevcut veriler korunur. Dosya işaretçisi dosya sonunda başlar. Eğer dosya yoksa yeni bir dosya oluşturun.
x+ Yeni dosyayı oku/yaz modunda oluşturun. Eğer dosya varsa, FALSE ve hata döner.

PHP, dosyaları okumak - fread()

fread() fonksiyonu, açılan dosyayı okur.

fread() fonksiyonunun ilk parametresi, okunacak dosyanın adını içerir, ikinci parametre, okunacak maksimum bayt miktarını belirler.

Aşağıdaki PHP kodu, "webdictionary.txt" dosyasını sonuna kadar okur:

fread($myfile, filesize("webdictionary.txt"));

PHP, dosyaları kapatmak - fclose()

fclose() fonksiyonu, açılan dosyaları kapatmak için kullanılır.

Açıklama:Dosyaları kullanıldıktan sonra hepsini kapatmak, iyi bir programlama alışkanlığıdır. Açmak istemediğiniz dosyaların sunucu kaynaklarınıza sahip olmasını istemezsiniz.

fclose() fonksiyonu, kapatılması gereken dosyanın adını (veya dosya adını tutan değişken) gerektirir:

<?php
$myfile = fopen("webdictionary.txt", "r");
//被执行的一些代码...
fclose($myfile);
?>

PHP, bir satır dosyası okumak - fgets()

fgets() fonksiyonu, dosyadan bir satır okumak için kullanılır.

Aşağıdaki örnek, "webdictionary.txt" dosyasının ilk satırını çıktı verir:

Örnek

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Dosya açılamıyor!");
echo fgets($myfile);
fclose($myfile);
?>

Çalıştırma Örneği

Açıklama:fgets() fonksiyonu çağrıldıktan sonra, dosya işaretçisi bir sonraki satıra taşınır.

PHP Dosya Sonunu Kontrol Etme - feof()

feof() fonksiyonu, "end-of-file" (EOF) e ulaşılıp ulaşılmadığını kontrol eder.

feof(), bilinmeyen uzunluklu verileri tararken çok faydalıdır.

Aşağıdaki örnek, "webdictionary.txt" dosyasını end-of-file (EOF) e kadar satır satır okur:

Örnek

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Dosya açılamıyor!");
// Dosyanın sonuna kadar tek satırlar çıktıya ver
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>

Çalıştırma Örneği

PHP Tek Karakter Okuma - fgetc()

fgetc() fonksiyonu, dosyadan tek karakter okumak için kullanılır.

Aşağıdaki örnek, "webdictionary.txt" dosyasını end-of-file (EOF) e kadar karakter karakter okur:

Örnek

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Dosya açılamıyor!");
// Dosyanın sonuna kadar tek karakterler çıktıya ver
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

Çalıştırma Örneği

Açıklama:fgetc() fonksiyonu çağrıldıktan sonra, dosya işaretçisi bir sonraki karaktere taşınır.

PHP Filesystem Referans Kılavuzu

Tam PHP dosya sistemleri referans kılavuzuna erişmek için CodeW3C.com tarafından sağlanan PHP Filesystem Referans Kılavuzu.