PHP, sunucunuzda dosya okuma, yazma, güncelleme ve silme işlemleri yapmanıza olanak tanır. Bu, kullanıcıların yüklediği dosyaları yönetmekten, log dosyalarını okumaya kadar pek çok farklı senaryoda kullanılır. Aşağıda, PHP dosya işlemlerinin temellerini ve örnek kullanım senaryolarını detaylı olarak bulabilirsiniz.
1. PHP Dosya İşlemleri Nedir?
Dosya işlemleri, PHP’nin fopen(), fread(), fwrite(), fclose() gibi fonksiyonları kullanarak sunucudaki dosyalarla etkileşime geçmenizi sağlar. Dosya işlemleri sayesinde:
- Dosya Okuma: Sunucudaki bir dosyanın içeriğini okuyabilirsiniz.
- Dosya Yazma: Dosyaya veri ekleyebilir veya mevcut veriyi güncelleyebilirsiniz.
- Dosya Silme: Artık gerekmeyen dosyaları silebilirsiniz.
- Dosya Kopyalama veya Taşıma: Dosyaları başka bir konuma kopyalayabilir veya taşıyabilirsiniz.
2. PHP Dosya Okuma İşlemleri
a) file_get_contents() Fonksiyonu
En basit dosya okuma yöntemi olan file_get_contents(), belirtilen dosyanın tüm içeriğini bir string olarak döndürür.
Örnek:
<?php
// dosya.txt içeriğini okuyup ekrana yazdırma
$icerik = file_get_contents("dosya.txt");
echo $icerik;
?>
b) fopen(), fread() ve fclose() Fonksiyonları
Daha kontrollü dosya okuma için dosyayı açıp, belli miktarda veri okuyabilir ve sonra dosyayı kapatabilirsiniz.
Örnek:
<?php
// Dosyayı okuma modunda açıyoruz
$dosya = fopen("dosya.txt", "r");
// Dosyanın boyutuna göre içeriği okuyoruz
$icerik = fread($dosya, filesize("dosya.txt"));
// Dosyayı kapatıyoruz
fclose($dosya);
// İçeriği ekrana yazdırıyoruz
echo $icerik;
?>
3. PHP Dosya Yazma İşlemleri
a) fwrite() Fonksiyonu ile Yazma
Bir dosyaya veri yazmak için dosyayı yazma modunda açmanız ve fwrite() ile içeriği dosyaya eklemeniz gerekir.
Örnek:
<?php
// Yazma modunda dosyayı açıyoruz. (Yoksa yeni oluşturur, varsa üzerine yazar)
$dosya = fopen("yeni_dosya.txt", "w");
// Dosyaya yazılacak metin
$metin = "PHP dosya işlemleri ile yazılan bu metin, dosyaya kaydedilmiştir.\n";
// Metni dosyaya yazıyoruz
fwrite($dosya, $metin);
// Dosyayı kapatıyoruz
fclose($dosya);
echo "Dosya başarıyla oluşturuldu ve yazıldı.";
?>
b) Dosyaya Ekleme (Append) İşlemi
Mevcut bir dosyanın sonuna veri eklemek için “a” (append) modunu kullanabilirsiniz.
Örnek:
<?php
// Eklemek için dosyayı açıyoruz (varsa sonuna ekler, yoksa oluşturur)
$dosya = fopen("yeni_dosya.txt", "a");
// Eklenen metin
$ekMetin = "Eklenen yeni satır.\n";
// Dosyanın sonuna metni ekliyoruz
fwrite($dosya, $ekMetin);
// Dosyayı kapatıyoruz
fclose($dosya);
echo "Dosyaya ekleme işlemi tamamlandı.";
?>
4. Dosya Silme ve Diğer İşlemler
a) unlink() Fonksiyonu ile Dosya Silme
Belirtilen dosyayı silmek için unlink() fonksiyonu kullanılır.
Örnek:
<?php
if (file_exists("yeni_dosya.txt")) {
unlink("yeni_dosya.txt");
echo "Dosya silindi.";
} else {
echo "Dosya bulunamadı.";
}
?>
b) copy() ve rename() Fonksiyonları
Dosyaları kopyalamak veya yeniden adlandırmak için kullanılabilirler.
Kopyalama Örneği:
<?php
if (copy("dosya.txt", "kopya_dosya.txt")) {
echo "Dosya başarıyla kopyalandı.";
} else {
echo "Dosya kopyalama işlemi başarısız.";
}
?>
Yeniden Adlandırma Örneği:
<?php
if (rename("kopya_dosya.txt", "yeniden_ad.txt")) {
echo "Dosya adı başarıyla değiştirildi.";
} else {
echo "Dosya adı değiştirilemedi.";
}
?>
5. PHP Dosya İşlemlerinde İpuçları
- Dosya Varlığını Kontrol Edin: Dosya işlemi yapmadan önce
file_exists()
ile dosyanın var olup olmadığını kontrol edin. - Hata Yönetimi: Dosya açma, okuma ve yazma işlemlerinde hata kontrolü yaparak kullanıcıya uygun mesajlar verin.
- Dosya İzinleri: Sunucunuzdaki dosya izinlerini kontrol edin. Yazma veya okuma izinlerinin uygun olduğundan emin olun.
- Veri Güvenliği: Dosyalardan okunan veriyi ekrana yazdırmadan önce uygun filtreleme ve doğrulama yapın.
6. Özet ve Sonuç
PHP dosya işlemleri ile:
- Dosya Okuma:
file_get_contents()
,fopen()
,fread()
,fclose()
- Dosya Yazma:
fwrite()
,"w"
ve"a"
modları - Dosya Silme:
unlink()
- Diğer İşlemler:
copy()
,rename()
Bu işlemler sayesinde sunucudaki dosyalarla dinamik etkileşim kurabilir, veri yönetimi yapabilir ve kullanıcıya özel içerik sunabilirsiniz.