PHP Dosya İşlemleri

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.

guest
0 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments
0
YORUM YAPx