PHP, dosyalara veri yazmanın birkaç yolunu sunarak ihtiyaçlarınıza göre esneklik sağlar. Bu makale, basit yazma için file_put_contents()
ve daha ince kontrol için fopen()
, fwrite()
ve fclose()
olmak üzere iki temel yöntemi ele almaktadır.
İçerik Tablosu
file_put_contents()
Kullanımı
file_put_contents()
, dosyaya veri yazmanın en basit yöntemidir. Dosya adını ve veriyi bağımsız değişken olarak alır. Mevcut dosyalar üzerine yazılır; dosyalar yoksa yenileri oluşturulur.
<?php
$data = "Yazılacak metin burası.n";
$filename = "my_file.txt";
if (file_put_contents($filename, $data) !== false) {
echo "$filename dosyasına veri başarıyla yazıldı";
} else {
echo "$filename dosyasına yazılırken hata oluştu";
}
?>
Bu kod parçası, $data
dizesini my_file.txt
dosyasına yazar. if
deyimi, dönüş değerini (başarı durumunda yazılan bayt sayısı, başarısızlık durumunda false
) kontrol eder.
Dosyaya Ekleme: Üzerine yazmak yerine eklemek için FILE_APPEND
bayrağını kullanın:
<?php
$data = "Bu metin eklenecektir.n";
$filename = "my_file.txt";
if (file_put_contents($filename, $data, FILE_APPEND) !== false) {
echo "$filename dosyasına veri başarıyla eklendi";
} else {
echo "$filename dosyasına ekleme yapılırken hata oluştu";
}
?>
fopen()
, fwrite()
ve fclose()
Kullanımı
Daha ayrıntılı kontrol için fopen()
, fwrite()
ve fclose()
kullanın. fopen()
dosyayı açar, fwrite()
veri yazar ve fclose()
dosyayı kapatır. Bu, büyük dosyalar veya birden çok yazma işlemi için faydalıdır.
<?php
$filename = "my_file.txt";
$handle = fopen($filename, 'w'); // 'w' yazmak için açar, mevcut içeriği siler
if ($handle) {
$data = "Bu ilk satır.n";
$data .= "Bu ikinci satır.n";
fwrite($handle, $data);
fclose($handle);
echo "$filename dosyasına veri başarıyla yazıldı";
} else {
echo "$filename dosyası açılırken hata oluştu";
}
?>
Bu örnek, dosyayı yazma modunda (‘w’) açar. Mevcut içerik silinir. fwrite()
veriyi yazar. Verilerin yazıldığından ve kaynakların serbest bırakıldığından emin olmak için fclose()
çok önemlidir.
fopen()
ile Ekleme: Eklemek için ‘a’ modunu kullanın:
<?php
$filename = "my_file.txt";
$handle = fopen($filename, 'a'); // 'a' eklemek için açar
if ($handle) {
$data = "Bu metin eklenecektir.n";
fwrite($handle, $data);
fclose($handle);
echo "$filename dosyasına veri başarıyla eklendi";
} else {
echo "$filename dosyası açılırken hata oluştu";
}
?>
Her zaman hataları (örneğin, yazılabilir olmayan dosyalar, izin sorunları) ele alın. Fonksiyon dönüş değerlerini kontrol edin ve uygun hata yönetimini uygulayın. İhtiyaçlarınıza göre file_put_contents()
ve fopen()/fwrite()/fclose()
arasında seçim yapın. file_put_contents()
basit görevler için özlüdür; fopen()/fwrite()/fclose()
karmaşık senaryolar için daha fazla kontrol sağlar.