Tagphp dosya dizin işlemleri

Dosya/Dizin İşlemleri – 2

Merhaba arkadaşlar dosya/dizin işlemleri yazımın ikinci bölümünde sizlere bir dosya ve ya dizinin olup olmadığını kontrol etmeyi ve dosya ve ya dizinlerde CHMOD ayarlarının nasıl yapıldığını anlatacağım.

Dosya/Dizinin Olup Olmadığını Kontrol Etmek

Hatırlarsanız önceki yazım da bir dosyayı sildikten sonra sayfayı yenilersek böyle bir dosya yok hatası ile karşılaşıyorduk böyle bir hata ile karşılaşmamak için dosyanın varlığını kontrol edip müdahale etmek daha mantıklı olucaktır.

Bir Dosya/Dizinin olup olmadığını kontrol etmek için file_exists fonksiyonunu kullanmamız gerekiyor. Bu fonksiyon sadece bir parametre alır bu parametre de dosya/dizinin adıdır.

<?php

file_exists(DOSYA ADI);

?>

şeklinde basit bir yazım kuralı vardır. Bunu basit bir örnek ile açıklamak gerekirse aydin adında bir dizin ve test.txt adında bir dosyamız olsun bunların varlıklarını kontrol etmek için şu işlemleri yapmamız yeterlidir.

<?php

if(file_exists(‘aydin’)){

echo “Dosya var”;

}else{

echo “Dosya yok”;

}

?>

ve ya

<?php

if(file_exists(‘test.txt’)){

echo “Dosya var”;

}else{

echo “Dosya yok”;

}

?>

şeklinde kullanarak dosyaların varlıklarını inceleyebiliriz.

Dosya/Dizinde CHMOD Ayarları

Dosya/Dizinlerde CHMOD Ayarlarını yapabilmek için kullanacağımız fonksiyon chmod fonksiyonudur fakat öncelikle CHMOD’un ne işe yaradıklarını anlatmam gerekiyor.

CHMOD

CHMOD, ayarları yani izinler bir dosya/dizinde yapılabilecek işlemlerin kimler tarafından hangi işlemlerin yapılabileceğini ayarlamamızı sağlıyor. Şimdi bu işlemler ney onları öğrenelim

  • 1 numarası execute (işlem) izni veriyor
  • 2 numarası yazma izni veriyor
  • 4 numarası ise okuma izni veriyor

bu sayıların toplamı ile elde edilen rakama göre verilen izinler belirleniyor yani 7 dersek bu üç izinede sahip olmuş oluyor eğer toplam 5 olursa okuma ve execute iznini vermiş oluyoruz gibi şimdi ise kimler tarafından yapılabileceklerini anlatmamız gerekiyor.

  • İlk hane her zaman 0’dır.
  • İkinci hane dosya sahibinin izinleridir
  • Üçüncü hane kullanıcı gruplarının izinleridir
  • Dördüncü hane ise geri kalan herkesin izinleridir.

Yani 0777 şeklinde CHMOD ayarlarını ayarlarsak herkese tam erişim sağlamış oluyoruz gibi düşünebilirsiniz. Şimdi asıl konumuz olan PHP ile Dosya/Dizin CHMOD Ayarlarının nasıl yapıldıklarını öğrenelim.

Kullanacağımız fonksiyonun chmod fonksiyonu olduğundan bahsetmiştik. Bu fonksiyon iki parametre alır ilk parametre dosya/dizin adı ve ya dosya/dizin yolu, ikinci parametre ise CHMOD ayarıdır yani 0777, 0755, 0775 gibi belirteceğimiz rakamlardır. Basit bir yazım kuralı vardır

<?php

chmod(AD, CHMOD);

?>

şeklinde belirtebiliriz. Bunu bir örnek ile anlatmak gerekirse

<?php

chmod(‘aydin’,0777);

?>

bu kod ile aydin dizinine herkesin tam erişimini verdim.

<?php

chmod(‘test.txt’,0777);

?>

bu kod ile test.txt dosyasına herkesin tam erişimini vermiş oldum.

Özet,

Kısacası bu yazımda sizlerle bir dosya/dizinin varlığını kontrol ettik ve hine bu dosya/dizinin CHMOD ayarlarının nasıl yapıldığından bahsettik.

Eğer bu yazımı beğendiyseniz ve diğer PHP yazılarımı da merak ediyorsanız buraya tıklayabilirsiniz.

PHP’de Dosya Dizin İşlemleri

PHP Eğitim serimizin bu dersinde PHP’de Dosya Dizin İşlemlerini inceleyeceğiz

Öncelikle eğitimin bu kısmına başlamadan önce sizlere dışarıdan başka bir PHP dosyası nasıl çağrılır .php uzantısı olmayan bir dosyayı PHP olarak okumamız mümkün mü bundan bahsedeceğiz.

Dosya çağırmak için kullandığımız iki adet komut vardır. Bunlar,

  • require
  • include

require

reqiure’ı kullanıcaksak çağıracağımız dosya hazırladığımız sistem için önemli bir dosya olmalı çünkü eğer require ile sistemimize dahil etmeye çalıştığımız dosya sisteme dahil edilmezse bir Fatal Error ile karşılaşacağız ve sistemin geri kalanı yüklenmeyecektir.

Peki require’ı nasıl kullanırız ? Sorunuzun cevabı basit,

<?php

require ‘cagiralacak-dosya.php’;

?>

şeklinde reqiure’ı kullanabiliriz.

include

include’u kullanacaksak çağıracağımız dosya hazırladığımız sistem için çok da önem taşımamaktadır. Bu dosya sisteme eklense de sistem çalışır eklenmesede çalışır.

Peki include’yı nasıl kullanırız ? Sorunuz cevabı basit,

<?php

include ‘cagiralacak-dosya.php’;

?>

Şimdi genel olarak gördüğümüz _once eki nedir ? ne işe yarar ?

Eğer bir kodu inceliyorsanız ve require_once ve ya include_once gibi kodlar gördüyseniz korkmayın bu kodlar da aynı işlevi yapıp devamında yazan dosyayı sisteme çağırır fakat bir fark ile sadece require ve ya include kullanarak bir dosyayı çağırırsak o dosyayı 5 kere çağırırsanız 5 kere çağırılır ama _once eki kullanıp çağırırsak bu dosyayı 5 kere çağırsanız kodlar 1 kere çalışacaktır.

include ve require arasındaki farkını tam olarak anlamadıysanız şöyle basit bir işlem ile anlatabilirim

<?php

if(include ‘cagirilan-dosya.php’){

// A Planı

}else{

// B Planı

}

?>

Burada A Planı yazan kısıma dosya sisteme çağırıldıysa ne yapacağımızı yazmamız gerekirken.

B planı yazan kısıma ise dosya sisteme çağıralamadıysa ne yapacağını yazmamız gerekiyor ama require kullansaydık böyle bir şey yazsak bile sadece dosya sisteme dahil olduğu kısım çalışacaktı ve dosyanın sisteme dahil olmadığı durumlarda direkt olarak FATAL Error ile karşılaşacaktık.

Bu dersimde PHP’de Dosya Dizin İşlemlerine basit bir giriş yaptık ileriki derslerde daha detaylı işleri yapmaya başlayacağız. Bu yazımı beğendiyseniz ve PHP ile alakalı diğer yazdığım yazıları merak ediyorsanız buraya tıklayarak inceleyebilirsiniz.