Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

Php İle Sayaç – Ders 1

2 min read



İnternet dünyasında artık merak ettiğimiz her konu hakında dersler, e-ktaplar bulmak mümkün. Çorbada benim de tuzum bulunsun diyerekten “php” programlama dilini kendi yöntemimle anlatmaya, öğretmeye çalışacağım. Benim yöntemimi açmak gerekirse tümdengelim metodu ile örnekler üzerinden anlatmayı kastediyorum. Bu bana göre php öğrenirken hem daha hızlı hem de daha pratiğe dönük hem de sıkıcı olmayan bir çözüm.


Genel Bilgi

İlk örneğimizde php ile sitemize basit bir sayaç yapacağız. Sayacımız şöyle çalışacak. Sitemizde bir metin dosyası (.txt) bulunacak ve içine bir başlangıç sayısı yazacağız. Bir kullanıcı sitemizi görüntülediği zaman dosyadan bu sayıyı okuyacağız. Bir artırdıktan sonra yeniden dosyaya yazacağız ve bu bir artırılmış halini ekrana yansıtacağız.

Bu örnekten çıkarılması gereken dersler dosyalara nasıl yazı yazılır, silinir, okunur, değiştirilir. Dosya kullanarak sayaçtan başka ziyaretçi defteri gibi bir betik de (script) yazılabilir. Önemli olan mantığı kavramanız.

Kod ve Açıklaması

Öncelikle aynı dizinde iki yeni dosya yaratıyoruz, say.txt ve sayac.php

say.txt -> Bu dosyanın içine 4 (herhangi bir sayı yazabilirsiniz) yazıp kaydedin ve dosyayı kapatın.

sayac.php -> Bu dosyamız bizim betiğimizi oluşturacak. İçine şu kodları ekleyin.

[php]<?php
$dosya = "say.txt";

// Okuma safhası
$tut = fopen($dosya,"r");
$sayi = fread ($tut, filesize ($dosya));
echo "<center>Bu sayfa ".$sayi." kez görüntülenmiştir.</center>";
fclose($tut);

// Yazma safhası
$tut2 = fopen($dosya,"w") ;
$yenisayi = $sayi + 1;
$sonuc= fwrite ($tut2, $yenisayi);
fclose($tut2);

?>[/php]

Şimdi de satır satır açıklayalım.

1 ve 16 – Php kodumuzun başlangıcını ve bitişini belirtir.
2 – $dosya adında bir değişkene ( php’de değişkenlerin gösterimi örnek $dosya şeklindedir) dosyamızın adını, “say.txt” atıyoruz. Artık sayacımız hangi dosyadan okuyacağını biliyor.
4 ve 10 – Bu satırlar açıklayıcı bilgidir. Görüğünüz gibi çift taksim işaretinden ( // ) sonra gelen php satırı betik tarafından okunmaz. Ek bilgileri böyle ekleyebiliriz.
5 – Dosyamızı okumak için açıyoruz ve bu açılmış halini $tut değişkeninde muhafaza ediyoruz. fopen () komutu dosyayı açmak için kullanılır. Bu satırda $dosya değişkeni ile belirlediğimiz dosyayı “r” ile açtım. “r” (read) okumak için anlamına gelir. Bu şekilde açılmış bir dosyaya yazı yazılamaz. bkz. fopen ()
6 – Bu satırda dosyadaki sayımızı elde ediyoruz. Bu da şu şekilde oluyor. $tut değişkeninde bulunan açık haldeki dosyanın içinden dosyanın boyutu kadar ( filesize() ) yani tamamını okuyup bir yazı olarak (string) $sayi değişkenine atıyoruz (fread ()). Artık ziyaret sayımızı biliyoruz ($sayi değişkenindeki sayı)
7 – Ekrana bu $sayi değişkenindeki değeri yazdırıyoruz (ekrana yazma komutu echo)
8 – $tut ile belirtilen dosyayı kapatıyoruz. (fclose ())
11 – 5. satırdaki işlemin aynısı fakat bu sefer dosyayı “w” ile yani yazmak için (write) açıyoruz ve $tut2 değişkenine atıyoruz.
12 – Okuma safhasında 6. satırda, dosyanın içindeki değeri $sayi değişkenine atamıştık. Şimdi bu sayıyı bir artırarak $yenisayi değişkenine atıyoruz.
13 – $yenisayı değişkenini $tut2 ‘deki açık halde bulunan dosyaya fwrite () komutu ile yazıyoruz.
4 – $tut2 ile belirtilen dosyayı kapatıyoruz.

Sonuç

Özetlemek gerekirse say.txt dosyasını okumak için açtık, içindeki sayıyı okuduk, ekrana yazdık, dosyayı kapadık, dosyayı yazmak için açtık, yeni sayıyı dosyaya yazdık ve kapattık.

Bu makaleyi başlangıç seviyesinde yazmaya çalıştım. Ne kadar anlaşılabilir olduğumu lütfen yorumlarınızla belirtiniz. Bundan sonraki örneklerimde de ona göre bir dil kullanacağım.

Eğer php’yi öğrenmek istiyorsanız lütfen bu anlattıklarım lafta kalmasın, bir deneyin, biraz kurcalayın. Dosyaya sayı değil de isminizi yazın ve ekrana görüntüleyin. Ne de olsa amaç daha önce belirttiğim gibi mantığını anlamak…



Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer