← Back to list

PHP Dosya İşleme Temelleri Ve Dosya İzinleri

Selam Dostlarım, ben Can. Bugün, PHP’de dosya işleme konusunu ve bu işlemlerde dosya izinlerini ele alacağız. Dosyalarla çalışmak, birçok…

Can Merkut · 2024-03-13 17:57 · 0 claps · 2.5 min read
#dosya-işlemleri #php-development #güvenli-yazılım #file-handling
Open on Medium ↗

PHP Dosya İşleme Temelleri Ve Dosya İzinleri

Selam Dostlarım, ben Can. Bugün, PHP’de dosya işleme konusunu ve bu işlemlerde dosya izinlerini ele alacağız. Dosyalarla çalışmak, birçok web uygulamasında önemli bir role sahiptir, ancak bu işlemleri güvenli bir şekilde gerçekleştirmek de bir o kadar önemlidir. Yavaştan dosya işleme ve güvenlik konularına bi bakalım!

Dosya İşleme Temelleri

Dosya Okuma

PHP’de dosya okuma işlemi oldukça basittir. fopen fonksiyonu ile dosyayı açabilir ve fgets fonksiyonu ile satır satır okuma yapabilirsiniz.

// "r" okumak için kullanılır (read)
$dosya = fopen("dosya.txt", "r");

// dosyadaki bulunan tüm satırları while döngüsü ile okuyup ekrana yazdırıyoruz
while (!feof($dosya)) {
    $satir = fgets($dosya);
    echo $satir;
}

// işlemlerimiz bittikten sonra dosyayı serbest bırakıyoruz.
fclose($dosya);

Dosya Yazma

Yeni bir dosya oluşturmak veya varolan bir dosyayı açarak yazma işlemlerini gerçekleştireceğiz.

// "w" yazmak için kullanılır (write)
// belirttiğiniz dosya adında dosya yoksa otomatik yeni oluşturur
$dosya = fopen("yeni_dosya.txt", "w");

// \n kullanırsak alt satıra geçeriz
fwrite($dosya, "Merhaba, Dosya İşlemleri!");
fwrite($dosya, "\n");
fwrite($dosya, "Alt satıra geçtik <3");
fclose($dosya);

Dosya Düzenleme

Varolan bir dosyayı düzenlemek için fopen fonksiyonunu kullanabilir ve fseek fonksiyonu ile belirli bir konuma gidip düzenleme yapabilirsiniz.

duzenlenecek_dosya.txt içeriği

Lorem Ipsum is simply dummy text of the printing
$dosya = fopen("duzenlenecek_dosya.txt", "r+");
fseek($dosya, 10); // 10. byte'a git
fwrite($dosya, "Yeni Veri");
fclose($dosya);

Düzenleme sonrası

Lorem IpsuYeni Veri is simply dummy text of the printing

Diyelimki “Lorem Ipsum is simply dummy text of the printing and typesetting” böyle bir cümlemiz var. 10 byte “Lorem Ipsu” bu kadar karaktere takabul ediyor. Unutmayın ki boşluklarda 1 byte yer kaplar :)

Şimdi Gelin Birkaç Kod Yazalım

  1. Dosya Açma ve Kapatma:
  • fopen($dosya_adı, $mod): Dosyayı belirtilen modda açar.
  • fclose($dosya_kolu): Açık olan dosya kolunu kapatır.
$dosya = fopen("dosya.txt", "r");
// Dosya ile ilgili işlemler yapılır
fclose($dosya);
  1. Dosyaya Yazma ve Okuma:
  • fwrite($dosya_kolu, $veri): Dosyaya veri yazar.
  • fread($dosya_kolu, $uzunluk): Dosyadan belirtilen uzunluktaki veriyi okur.
$dosya = fopen("dosya.txt", "w");
fwrite($dosya, "Merhaba, dünya!");
fclose($dosya);

$dosya = fopen("dosya.txt", "r");
$veri = fread($dosya, filesize("dosya.txt")); // Bu veri byte olarak gelir
fclose($dosya);
echo $veri;  
  1. Dosya Silme:
  • unlink($dosya_adı): Belirtilen dosyayı siler.
unlink("dosya.txt");
  1. Dosya Var mı Kontrolü:
  • file_exists($dosya_adı): Belirtilen dosyanın var olup olmadığını kontrol eder.
if (file_exists("dosya.txt")) {
    echo "Dosya mevcut.";
} else {
    echo "Dosya mevcut değil.";
}
  1. Dosya Kopyalama ve Taşıma:
  • copy($kaynak, $hedef): Dosyayı kopyalar.
  • rename($eski_ad, $yeni_ad): Dosyanın adını değiştirir.
copy("dosya.txt", "yeni_dosya.txt");
rename("dosya.txt", "yeni_ad.txt");

Güvenlik Önlemleri ve Dosya İzinleri

Dosya işlemlerinde güvenlik, uygulamalarınızın sağlamlığını etkileyen kritik bir faktördür. İşte bazı güvenlik önlemleri ve dosya izinleriyle ilgili pratik bilgiler:

  1. Dosya İzinleri Kontrolü: Dosyalarınızın ve dizinlerinizin izinlerini kontrol edin. PHP’nin chmod fonksiyonu ile dosya izinlerini değiştirebilirsiniz.
chmod("dosya.txt", 0644); // Örnek: 644 izinleri

Burada kullanılan 0644 şu şekildedir:

  • 0 (sahip için): hiçbir izin yok.
  • 6 (grup için): okuma (4) + yazma (2) izinleri.
  • 4 (diğer kullanıcılar için): sadece okuma izni.
  1. Güvenli Dosya İsimleri: Kullanıcı girdilerini kullanarak dosya adları oluştururken dikkatli olun. Dosya isimlerini kontrol etmek ve özel karakterlere izin vermemek önemlidir.
  2. Dosya Türü Kontrolü: Kullanıcıların yüklediği dosyaları kontrol etmek için dosyanın tipini doğrulayın. Örneğin, resim dosyalarının resim dosyası olduğunu doğrulayın. PHP gibi dosyaların yüklenmesini engelleyin.
  3. Dosya Boyutu Kontrolü: Kullanıcıların yüklediği dosyaların boyutlarını kontrol edin ve gerektiğinde sınırlayın.
  4. Dosya İçeriği Kontrolü: Dosyaları açmadan önce içeriğini kontrol etmek için hash algoritmalarını kullanabilirsiniz. İleride değineceğim.

Bu basit önlemler, dosya işlemleri sırasında güvenlik sağlamanıza yardımcı olacaktır. Unutmayın ki, güvenli yazılımlar sadece iyi kodlama ile elde edilmez, araştırma ve bilgi bolluğu gereklidir. Kendi sisteminize herkesten önce sızmak daha güvenli hale getirir. Bu zamana kadar üretilmiş olan tüm sistemler hacklendikçe daha güvenli hale geldi.

Umarım verdiğim temel bilgiler, PHP’de dosya işlemleri ve güveliği konusunda sizlere rehberlik eder. Güvenli kodlama ve kullanıcı deneyimi için her zaman yeni bilgiler edinmeyi unutmayın. Yolunuzda Başarılar dilerim!


메타데이터
post_id
b2ea9bac6916
slug
php-dosya-i̇şleme-temelleri-ve-dosya-i̇zinleri-b2ea9bac6916
url
https://medium.com/@canmerkut/php-dosya-i%CC%87%C5%9Fleme-temelleri-ve-dosya-i%CC%87zinleri-b2ea9bac6916
canonical_url
https://medium.com/@canmerkut/php-dosya-i%CC%87%C5%9Fleme-temelleri-ve-dosya-i%CC%87zinleri-b2ea9bac6916
author_url
https://medium.com/@canmerkut
status
ok
fetched_at
2026-07-11 08:18:30