Basit veritabanı uygulamaları yapmak, web sitesi ziyaret logları oluşturmak, basit ziyaretçi defteri yapmak için dosya işlemlerini kullanabilirsiniz.
Konular
Dosyalarla çalışmak için öncelikle dosyanın açılması gerekmektedir.
$f=fopen(“dosyayolu/dosyaadi.uznt”,$acmasekli);
$acmasekli, fopen fonksiyonun dosya erişiminde kullanacağı yöntemi belirler.
Dosya okuma için açıldıktan sonra, fread komutu yardımı ile, dosyadan okuma işlemi gerçekleştirilir. fread komutu okuduğu verileri eşitlendiği değişkene aktararak kullanıma sunar,. Bu veriler üzerinde istenilen işlemler gerçekleştirilebilir.
Kullanımı:
$f=fopen(“dosyayolu”,”r”);
$fs=filesize($f); //Dosya Boyutunu bu şekilde öğrenebiliriz.
$okunan=fread($f,$fs);
fread komutu iki parametre alır; Birinci parametre açılan dosya tutucusudur ($f), İkinci parametre, okunacak olan veri miktarını byte türünde belirler. Dosyanın tamamını okumak yerine, belirli bir miktarını okuma imkanı sağlar. Dosyanın tamamının okunabilmesi için filesize($f) komutu ile açmış olduğumuz dosyanın boyutunu öğrenebiliriz.
İşimiz bittikten sonra açmış olduğumuz dosyayı kapatmayı unutmayalım.
Dosyaya veri yazmak için öncelikle dosyamızı yazılabilir şekilde açmamız gerekmektedir. Daha sonra dosyaya yazmak istediğimiz veriyi fwrite komutu ile dosyaya aktarabiliriz.
Kullanımı:
$f=fopen(“dosyayolu”,”w”); veya $f=fopen(“dosyayolu”,”a”)
fwrite($f,$veri);
fwrite komutu iki parametre alır; birinci parametre açılan dosya tutucusudur ($f), ikinci parametre ise dosyaya yazılacak olan veriyi içerir ($veri).
Burada dikkat edilmesi gerekn nokta, dosyayı açarken kullanacağımız açma türüdür. w türünde açılan dosyalara yeni bir veri yazıldığı zaman eski veriler silinecektir. a türünde açılan dosyalara yeni veri yazıldığında; yazılan yeni veri eski verinin sonuna eklenir.
İpucu: Log kayıtları gibi verileri dosyaya yazarken a (sonuna ekleme) türünde, Sayaç gibi yenilenen veriler kullanılacaksa w (üzerine yazma) türünde açmak aha faydalı olacaktır.
Dosya okuma işlemi yapmadan önce dosyanın varlığını kontrol etmek, yapılması gereken en önemli işlerdendir. Bunun için; file_exists fonksiyonu kullanılır.
Kullanımı:
if(file_exists(“dosyayolu”))
echo “Dosya var”;
else
echo “Dosya bulunamadı”;
file_exists fonksiyonu sadece dosya yolunu parametre olarak alır. Eğer dosya var ise; Doğru (true), dosya yok veya ulaşılamaz ise Yanlış (false) değerini döndürür.
Dosyanın varlığı doğrulandıktan sonra, dosyanın okunabilir mi, yazılabilir mi olduğunu öğrenmemiz gerekiyor. Bunun için is_readable (okunabilir mi), is_writable (yazılabilir mi) fonksiyonları kullanılabilir.
is_readable: Dosya yetkileri kontrol edilerek, dosyayı okuma iznimiz olup olmadığı kontrol edilebilir. Eğer dosyayı okuma iznimiz var ise; Doğru (true), yoksa Yanlış (false) sonucu döndürülür.
is_writable: Dosya yetkileri kontrol edilerek, dosyaya yazma iznimiz olup olmadığı kontrol edilebilir. Eğer dosyaya yazma iznimiz var ise; Doğru (true), yoksa Yanlış (false) sonucu döndürülür.
Örnek:
$dosya=”deneme.txt”;
if(file_exists($dosya))
{
if(is_writable($dosya))
{
$f=fopen($dosya,”a”);
fwrite($f,”\nYeni Eklenen Veri”);
fclose($f);
echo “Veri dosyaya yazıldı”;
}
else if(is_readable($dosya))
{
$f=fopen($dosya,”r”);
$v=fread($f,”1000″);
fclose($f);
echo “Dosyadan okunan veri: “.$v;
}
else
echo “Dosyayı okuma/yazma iznimiz bulunmamaktadır.”;
}
fseek komutu, fopen ile açılan bir dosya içerisinde bulunulan konumdan istenilen başka bir konuma gitmeyi sağlar. Dosyadan veri okunduktan sonra, işaretçi yerinin değiştirilmesi için kullanılır.
Kullanımı:
fread($f,2600);
fseek($f,2790); //2600. baytta yer alan işaretçinin 2790. bayta ilerlemesini sağlar.
fseek($f,0); //2790. baytta yer alan işaretçinin dosya başına konumlandırılmasını sağlar.
PHP’de bir dosya ile işlem yapabilmek için dosyayı açmamız gerektiğini söylemiştik. Dosyayı açma işlemi bu dosyayı diğer paylaşımcıların erişimine karşı kilitleyeceği için kullanımımız sona erdikten sonra dosyayı kapatmamız gerekmektedir. Bunun için fclose komutunu kullanmalıyız.
Kullanım:
$f=fopen(“dosyayolu”,”r”);
fclose($f);
touch: Bir dosyanın son erişim zamanının ayarlanmasını sağlar. Olmayan bir dosyanın oluşturulmasını sağlar. bool touch($dosyayolu);
unlink: Dosya silme işlemi yapar. bool unlink($dosyayolu);
file_get_contents: Dosya içeriğinin tamamını bir dizgiye aktarmayı sağlar. $veri=file_get_content($f);
]]>PHP, Personal Home Page (Kişisel Anasayfa) kelimelerinin kısaltılmışıdır. HTML, içerisine gömülebilen sunucu taraflı betik ve programlama dilidir. Kullanımı oldukça kolaydır.
C programlama dilini temel alarak geliştirilen PHP, diğer Web Programlama dillerine kıyasla daha hızlı çalışabilmektedir. Özgür Yazılım Lisansı ile yayınlanan PHP’nin kullanımı için lisans gerekmediğinden, daha ucuz ve halk tarafından geliştirildiği için daha güvenli bir sistemdir.
PHP, tek başına çalışabilen bir sistem değildir. Linux tabanlı bir Web Sunucusu olan Apache üzerine eklenti olarak kurulur. Yani, bilgisayarınızda PHP kullanmak istiyorsanız, öncelikle Apache Web Sunucusunu kurmanız gerekiyor.
Burada şu soru akla gelebilir. PHP’yi ayrı, Apache’yi ayrı, MySQL’i ayrı mı kuracağız? Hayır. Bunların tümünü içerisinde barındıran kurulum paketlerini kullanabilirsiniz.
gibi kurulumlar ile bilgisayarınıza hem PHP’yi, hem Apache’yi hem de MySQL’i ve en çok kullanılan veritabanı yönetim yazılımı olan phpMyAdmin’i kurmuş olursunuz.
AppServ kurulumu ile devam edelim.
AppServ’ü indirdikten sonra kurulum aşamasında size bazı sorular soracaktır. Bu soruları kısaca özetleyecek olursak;
Kurulum işlemi tamamlandıktan sonra (eğer kurulum konumunda herhangi bir değişklik yapmadı iseniz) C:\AppServ\www klasörü içerisinde web sayfamızın dosyalarını görebilirsiniz. Hazırlayacağımız dosyaları/web sitesini bu klasörde depolayacağız.
Evet sıra geldi, ilk dosyamızı hazırlamaya. Ama önce bazı temel bilgileri görelim.
PHP, HTML içerisine gömülebilen bir betik dili idi. O zaman HTML ve PHP kodlarını nasıl ayırt edeceğiz. Cevap basit. PHP kodları sayfa içerisinde <?PHP ve ?> işaretleri (etkiketleri) arasında yer alır. <?PHP etiketi bu noktadan itibaren PHP kodlarının başladığını Apache’ye bildirir. Ve Apache ona göre işlem yapmaya başlar.
O zaman neymiş. PHP kodlaması yaparken, <?PHP etiketini unutmuyoruz.
PHP’de herhangi bir içeriği HTML’ye yansıtmak için echo komutunu kullanırız. Bu komut yazdır anlamına gelir. Echo’dan sonra gelecek içerik, eğer değişken veya bir işlem değil ise, tırnak/tek tırnak içerisinde yazılır.
Örnek: echo “Merhaba Dünya”;
Burada dikkat etmemiz gereken bir diğer önemli hususta, her komutun sonunda noktalı virgül (;) kullanmaktır. Noktalı virgül kullanılmadığı zaman program ne yapacağını bilemeyeceği için hata verecektir.
O zaman ilk php dosyamızı hazırlayalım.
Not Defterini açıyoruz.
İçerisine;
<?PHP
echo “Selam Gençlik”;
?>
yazıyoruz.
Dosyamızı Farklı Kaydet seçeneği ile C:\Appserv\www konumuna kaydediyoruz. Dosyamızın adı ilkdosyam.php olacak. Yalnız dosya adını yazarken tırnak içerisinde yazmamız gerekiyor, aksi takdirde Not Defteri bunu anlamayıp, düz metin belgesi olarka kaydedebilir.
Şimdi hazırladığımız sayfayı görelim. sayfamızın adresi http://localhost/ilkdosyam.php.
Bundan sonra sahip olduğunuz HTML bilgileri ile dosyanızı zenginleştirebilirsiniz. Tek yapmanız gereken PHP kodu kullanacağınız yerlerde <?PHP … ?> etkiketlerini unutmamak ve dosyanızı .php uzantısı ile kaydetmek.
Bir sonraki derste görüşmek üzere…
]]>
Merhaba arkadaşlar,
Bugünden itibaren bu başlık altında PHP dersleri yayınlamaya başlayacağız. PHP’nin kullanımına ilişkin bilgileri buradan sizlerle paylaşacağız. Ders anlatımlarımızı örneklerle destekleyeceğiz. İşleyeceğimiz konuların temel planı aşağıdaki gibi olacak. Daha sonraki aşamalarda bu dersleri PDF ortamında kitap haline getirebiliriz.