Yükleniyor...

Dosya İşleme

PHP’de dosya işleme, web uygulamalarında verileri depolamak, yönetmek ve işlemek için kritik bir beceridir. Dosya işleme, kullanıcı verilerini kaydetme, log tutma, rapor oluşturma veya konfigürasyon dosyalarını dinamik olarak yönetme gibi işlemler için kullanılır. PHP, dosyalarla çalışmayı kolaylaştıran kapsamlı fonksiyonlar ve OOP prensipleri sunar, böylece geliştiriciler güvenli ve sürdürülebilir çözümler üretebilir.
Dosya işleme, PHP geliştirme sürecinde dosya açma, yazma, okuma ve silme işlemleriyle başlar. Geliştirici, uygun veri yapıları ve algoritmalar kullanarak dosya içeriklerini yönetir ve hataları kontrol altına alır. Bu süreçte bellek yönetimi, hataların yakalanması ve kaynakların doğru kapatılması gibi konular ön plandadır. Ayrıca, OOP prensipleri kullanılarak dosya işlemleri sınıflar içinde kapsüllenebilir, bu sayede kodun bakımı ve tekrar kullanımı kolaylaşır.
Bu eğitimde, temel dosya işlemlerinden başlayarak ileri seviye OOP ile entegre çözümlere kadar adım adım ilerleyeceğiz. Okuyucu, dosya açma, yazma, okuma, silme, hata yönetimi ve performans optimizasyonu konularını öğrenerek gerçek dünya projelerinde güvenli ve etkili dosya yönetimi uygulamaları geliştirebilecektir.

Temel Örnek

php
PHP Code
<?php
$dosyaAdi = "ornek.txt";

// Dosya açma veya oluşturma
$dosya = fopen($dosyaAdi, "w");
if (!$dosya) {
die("Dosya oluşturulamadı.");
}

// Dosyaya veri yazma
fwrite($dosya, "Merhaba, PHP dosya işleme!\n");
fwrite($dosya, "Bu temel bir örnektir.\n");

// Dosyayı kapatma
fclose($dosya);

// Dosya içeriğini okuma
$icerik = file_get_contents($dosyaAdi);
echo "Dosya içeriği:\n";
echo $icerik;
?>

Bu örnekte, "ornek.txt" adında bir dosya tanımlanmıştır. fopen fonksiyonu "w" modu ile dosyayı yazmak için açar ve dosya yoksa oluşturur. Açma işleminin başarılı olup olmadığını kontrol etmek, hataların önüne geçmek için önemlidir. fwrite fonksiyonu ile dosyaya birden fazla satır yazılır. İşlem tamamlandıktan sonra fclose fonksiyonu dosyayı kapatarak belleği serbest bırakır ve olası hafıza sızıntılarını önler. file_get_contents fonksiyonu ise tüm dosya içeriğini bir string olarak döndürür, küçük ve orta boyutlu dosyalar için idealdir. Bu temel örnek, dosya oluşturma, yazma, okuma ve kapatma işlemlerini göstererek PHP’de güvenli ve doğru dosya yönetimi uygulamalarına giriş sağlar.

Pratik Örnek

php
PHP Code
<?php
class DosyaYoneticisi {
private string $yol;

public function __construct(string $yol) {
$this->yol = $yol;
}

public function yaz(string $veri): bool {
try {
$dosya = fopen($this->yol, "a"); // Ekleme modu
if (!$dosya) throw new Exception("Dosya yazma için açılamadı.");
fwrite($dosya, $veri . PHP_EOL);
fclose($dosya);
return true;
} catch (Exception $e) {
error_log($e->getMessage());
return false;
}
}

public function oku(): string {
if (!file_exists($this->yol)) return "";
return file_get_contents($this->yol);
}

public function sil(): bool {
if (file_exists($this->yol)) {
return unlink($this->yol);
}
return false;
}
}

// Kullanım örneği
$yonetici = new DosyaYoneticisi("log.txt");
$yonetici->yaz("Yeni log girişi: " . date("Y-m-d H:i:s"));
echo "Dosyanın güncel içeriği:\n";
echo $yonetici->oku();
?>

Bu ileri seviye örnekte, tüm dosya işlemleri DosyaYoneticisi sınıfı içinde kapsüllenmiştir. "a" modu ile dosyaya veri eklenir, böylece mevcut içerik korunur. try-catch bloğu ile hatalar yakalanır ve error_log ile kaydedilir. Bu sayede uygulama hata verdiğinde kesilmez. POO yaklaşımı, kodun daha modüler, sürdürülebilir ve yeniden kullanılabilir olmasını sağlar. oku ve sil metodları, dosya üzerinde güvenli ve kontrollü işlemler yapılmasını mümkün kılar. Bu örnek, gerçek dünya projelerinde dosya yönetimini güvenli ve etkili bir şekilde nasıl uygulayacağınızı gösterir.

📊 Referans Tablosu

PHP Element/Concept Description Usage Example
fopen Dosyayı açar veya oluşturur $dosya = fopen("dosya.txt", "r");
fwrite Açık dosyaya veri yazar fwrite($dosya, "Örnek içerik");
file_get_contents Dosyanın tüm içeriğini string olarak okur $icerik = file_get_contents("dosya.txt");
fclose Dosyayı kapatır ve kaynakları serbest bırakır fclose($dosya);
unlink Dosyayı sistemden siler unlink("dosya.txt");
file_exists Dosyanın var olup olmadığını kontrol eder if(file_exists("dosya.txt")) { ... }

Dosya işleme için en iyi uygulamalar arasında dosya açma işlemlerinde doğrulama yapmak, hataları yönetmek, uygun modları kullanmak ve bellek optimizasyonu bulunmaktadır. Büyük dosyalar için fread veya fgets ile parça parça okuma yapmak, performans ve bellek yönetimi açısından önemlidir. Sık yapılan hatalar, dosyaları kapatmamak, hata yönetimini ihmal etmek ve büyük dosyaları komple belleğe yüklemektir. Sınıflar ve POO kullanımı, kodun daha temiz, yönetilebilir ve hatasız olmasını sağlar.

Özetle, PHP’de dosya işleme becerisi, güvenli, verimli ve sürdürülebilir web uygulamaları geliştirmek için kritiktir. Bu eğitimde dosya oluşturma, yazma, okuma, silme ve hata yönetimi konuları ile POO entegrasyonu öğretilmiştir. Bir sonraki adımlar, dosya yükleme, geçici dosya yönetimi ve log optimizasyonu gibi ileri seviye konuların incelenmesi olmalıdır. Resmi PHP belgeleri ve topluluk kaynakları ile pratik yaparak bilgilerinizi pekiştirebilirsiniz.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

4
Sorular
🎯
70%
Geçmek İçin
♾️
Süre
🔄
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek