Sayaç
<?
|
- BU KODUN DOSYALARINI (resimleri vs...) http://www.turk-php.com/tayfun/sayac.zip ADRESİNDEN EDİNEBİLİRSİNİZ.
- VEYA NASIL ÇALISTIGINA BAKMAK İSTERSENİZ http://www.turk-php.com/tayfun/sayac.php BULABİLİRSİNİZ.
KULLANILAN FONKSİYONLAR:
Dosyanın varlığını kontrol eder. Dosya mevcutsa TRUE (1) değerini döndürür. Dosya yoksa FALSE (0) değerini geri döndürür.
Kullanımı:int file_exists (string dosya_adi)
Dosya üzerinde (burdaki dosya diye bahsetiğimiz normal txt uzantılı dosya gibi) değişiklik, okuma veya ekleme yapacağımız zaman öncelikle dosyayı açmamız gerekir. Komut sonuç olarak bir HANDLE(tutacak) geri yollar. Bundan soraki işlemlerde bu tutacak kullanılır.
Kullanımı: int fopen (string dosya_adi, string parametre)
parametre:
'r' : Dosyayı okuma amacı ile açar. Dosya yoksa hata verir.
'w' : Dosyaya yazma amacı ile açar. Dosya yoksa yaratır. Varsa tüm içerigini siler.
'a' : Dosyaya ek yapmak amacı ile açar. Dosya yoksa hata verir.Örnek:
$link=fopen("dosya.txt",'r');
Açtığımız dosyayı kapamaya yarar. Parametre olarak dosyayı tuturduğumuz HANDLE (tutacak) girilir.
Kullanımı: int fclose (int HANDLE)
Örnek:
$tutacak = fopen("dosya.txt",'a');
fclose($tutacak);
Dosyaya bilgi girişi yapmakta kullanılır.
Kullanımı: int fwrite (int tutacak, string metin)
Örnek:
$metin="Bu dosyanın içine ekli";
$tut=fopen("veri.dat",'w');
fwrite($tut,$metin);
fclose($tut);
Dosyadan bilgi okuma işini yapar.Bilgileri satır satır okur. Satırı okurken iki sebebten dolayı durur: İlki satırın sonu gelmesi "\n" gibi. İkincisi satır uzunluk parametresi ile belirtilen uzunluğu geçmesi halinde o satırı bitmiş kabul eder.. Dikkat edilecek bir unsur bu fonksiyon her çagırıldığında bir sonraki satıra geçer. O yüzden eğer birden çok satır okutacaksanız dosyanın sonuna gelip gelmediğini kontrol ediniz. "EOF()" yoksa program sonsuza dek okumaya çalışır.
Kullanımı: string fgets (int tutamak, int uzunluk)
Örnek:
$tutacak = fopen ("dosya.txt", "r");
while (!feof($tutacak) {
$bilgi = fgets($tutacak, 1024);
print ($bilgi);
}
fclose ($tutacak);
String dizisinin karakter sayısını sayar.
Kullanımı: int = strlen(string);
Örnek:
$as = "tayfun ulu";
$sayi = strlen($as);
Burada $sayi değişkenin değeri 10 olur. Boşluk gibi şeyleride karakter olarak sayar.
Dönüştürücüler (integer) ve (string)
Bazen elimizdeki değişkenşlerin başka bir formatta olmasını isteriz. Mesela bir sayının üzerinde string işlemleri yapmak isteriz. Bu tür işleri yapmak için değişkenimizin türünü değiştirebiliriz.
String'den integer sayıya dönüştürme:
Kullanımı:
String'den integer sayıya dönüştürme:
string = (string)degisken;İnteger'dan sitringe dönüştürme:
integer=(integer)degisken;Örnek:
Elimizdeki integer sayıyı string e cevirmek istersek:
$des=1222; //burada des degiskeninin türü integer dır.
$des=(string)$des; // artık değişkeninin türünü string yapmış bulunuyoruz.
KODUN AÇIKLAMASI:
<?if(!file_exists($dosya)):?>
----> bu satırda dosyanın varlığı kontrol ediliyor.
<?$ilk=fopen($dosya,'w') or die("dosya açılamıyor!!!");?>
--->dosyayı yazmak için açıyor.
<?fwrite($ilk,"0");?>
---> içine "0" değerini ekliyor.
<?fclose($ilk);?>
---> dosyayı kapatıyor.
<?endif?>
<?$icerik=fopen($dosya,'r') or die("dosya açılamıyor!!!");?>
---> dosyayı okumak amacı ile açıyor.
<?$ilk_satir=(integer)fgets($icerik,1024);?>
--->dosyadan ilk satırı okuyor ve değişkenin string türüne ceviriyor.
<?fclose($icerik);?>
---> Dosyayı kapatıyor.
<?$ilk_satir++?>
---> değişkenin değerini bir artırıp kendisine eşitliyor.
<?$ilk_satir=(string)($ilk_satir);?>
---> Değişkenin (sayaç'ın değeri) değerini string'e eşitliyor.
<html><body bgcolor=#000000>
<table align="center" cellpadding="0" cellspacing="0" ><tr>
<?for($x=0;$x<strlen($ilk_satir);$x++):?>
---> Sayacın basamakları teker teker alt satırda uygulanır.
<?print ("<td><img src=\"".$resim_klasor.$ilk_satir[$x].".gif\"></td>\n");?>
---> Sayı ile aynı isimde de olan resim dosyaları ekrana bir tablo içinde yazdırılıyor.
<?endfor?>
</tr></table>
</body></html>
<?$yazmak=fopen($dosya,'w') or die("dosya açılamıyor!!!");?>
---> Dosyayı yazmak amacı ile açar.
<?fwrite($yazmak,$ilk_satir);?>
---> Dosyaya sayacın son değeri yazdırılır.
<?fclose($yazmak);?>
---> Dosya yazdırılır.
NOT:
- Bu kodu sayfada <? include "sayac.php";?> şeklinde kullanabilirsiniz.
- Bazı server larda yeni dosya oluşturulamıya bilir. O yüzden veri.dat dosyasınıda servera atmamız gerekebilir. Servera atıp chmod ile kullanım hakkını ayarlamalısınız.
TAYFUN ULU
tayfun@turk-php.com
www.e-tayfun.f2s.com