Genel

PHP’de Dosya İşlemleri

PHP’de dosya işlemleri oldukça önemlidir çünkü dosyalar genellikle verileri depolamanın ve işlemenin bir yoludur. PHP’nin dosya işleme işlevleri, dosyaları oluşturmak, okumak, yazmak, güncellemek, silmek ve kapatmak gibi çeşitli işlemleri gerçekleştirmenizi sağlar.

  1. fopen(): Dosyayı açmak için kullanılan fonksiyondur. Açma modlarına (r, w, a, vb.) sahiptir ve belirtilen modda dosyayı açar ve bir işaretçi döndürür.
  2. fclose(): Dosyayı kapatmak için kullanılır. Dosya işlemleri tamamlandıktan sonra dosyanın kapatılması önemlidir çünkü kaynakları serbest bırakır.
  3. unlink(): Belirtilen dosyayı silmek için kullanılır. Dosya silindiğinde geri dönüş değeri true olurken, silinemediğinde false döner.
  4. fwrite(): Dosyaya veri yazmak için kullanılır. Dosyayı açtıktan sonra bu fonksiyon ile veri yazılabilir. Eğer dosya mevcut değilse, bu fonksiyon otomatik olarak dosyayı oluşturur.
  5. fread(): Dosyadan veri okumak için kullanılır. Dosyayı belirtilen boyutta okur ve okunan veriyi döndürür. Dosya sonuna ulaşıldığında veya bir hata oluştuğunda false döner.
rDosyayı okumak için açar. (read)
r+Dosyayı hem okumak hem de yazmak için açar. (read)
wDosyayı yazmak için açar. Var olan içeriği siler (write)
w+Dosyayı hem yazmak hem de okumak için açar. Var olan içeriğisiler, baştan yazar. (write)
aDosyayı yazmak için açar. Var olan içeriği silmezsonuna ekler. (append)
a+Dosyayı hem yazmak hem de okumak için açar. Var olan içeriğisilmez sonuna ekler. (append)
xDosyayı oluşturur ve yazmak için açar. Eğer dosyazaten varsa FALSE döner.
x+Dosyayı oluşturur, yazmak ve okumak için açar. Eğer dosyazaten varsa FALSE döner.

Örnek

<?php
// Dosya oluşturma
$dosyaAdi = "test.txt";
$dosyaIcerik = "Bu bir test dosyasıdır.";
$file = fopen($dosyaAdi, "w");
fwrite($file, $dosyaIcerik);
fclose($file);

// Dosya okuma
$file = fopen($dosyaAdi, "r");
$icerik = fread($file, filesize($dosyaAdi));
fclose($file);
echo "Dosya İçeriği: " . $icerik . "<br>";

// Dosya yeniden adlandırma
$yeniDosyaAdi = "yenitest.txt";
if(rename($dosyaAdi, $yeniDosyaAdi)){
    echo "Dosya yeniden adlandırıldı.<br>";
} else {
    echo "Dosya adı değiştirilemedi.<br>";
}

// Klasör oluşturma
$klasorYolu = "yeni_klasor/";
if (!file_exists($klasorYolu)) {
    if (mkdir($klasorYolu, 0777, true)) {
        echo "Klasör oluşturuldu.<br>";
    } else {
        echo "Klasör oluşturulamadı.<br>";
    }
}

// Dosya taşıma
$dosyaYolu = $klasorYolu . $yeniDosyaAdi;
if (rename($yeniDosyaAdi, $dosyaYolu)) {
 echo "Dosya taşındı.<br>";
} else {
 echo "Dosya taşınamadı.<br>";
}

// Dosya silme
if(unlink($dosyaYolu)){
 echo "Dosya silindi.<br>";
} else {
 echo "Dosya silinemedi.<br>";
}

// Klasör silme
if(rmdir($klasorYolu)){
 echo "Klasör silindi.<br>";
} else {
 echo "Klasör silinemedi.<br>";
}
?>

Dosya Listeleme

  1. is_dir(): Bu fonksiyon, belirtilen bir yolun bir dizin olup olmadığını kontrol eder. Eğer belirtilen yol bir dizin ise true, değilse false döndürür.
  2. scandir(): Bu fonksiyon, belirtilen bir dizindeki tüm dosya ve dizinleri içeren bir dizi döndürür.
  3. glob(): Bu fonksiyon, belirtilen bir desene uyan dosya veya dizinleri döndürür. Desen, normalde joker karakterler (*) kullanılarak belirtilir.

Örnek

<?php
$klasorYolu = "C:\\Users\\MONSTER\\Desktop\\BÖTE YL"; // Klasörün tam yolu

if (is_dir($klasorYolu)) { // Klasörün varlığını kontrol et
    $icerikler = scandir($klasorYolu); // Klasör içeriğini listele
    foreach ($icerikler as $icerik) { // Her bir içerik için
        if ($icerik != "." && $icerik != "..") { // "." ve ".." klasörlerini atla
            echo $icerik . "<br>"; // İçeriği ekrana yazdır
        }
    }
} else {
    echo "Belirtilen klasör bulunamadı.";
}
?>

Bir cevap yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir