Çoklu Dil Sınıfı

Web Sitenize birden fazla dil seçeneği ekleyerek bu sınıfı kullanabilirsiniz.

<?php
class cokluDil {
	var $orjinal;
	var $dil;
	var $cevir;
	var $sonid;
	var $donustur;
	var $dizi;
	function baslat() {
		$this->sonid = 0;
	}
	function AddDir($dizi, $dil) {
		$this->dizi[$dil] = $dizi;
	}
	function Dir($dil) {
		$dizi = $this->dizi[$dil];
		return $dizi;
	}
	function donusturmeEkle($donustur,$dil) {
		$this->donustur[$dil] = $donustur;
	}
	function donustur($dil) {
		header("Content-Type: text/html; charset=" . $this->donustur[$dil] . "");
	}
	function ceviriEkle($orjinal,$dil,$cevir) {
		if ($this->sonid >= 0) {
			$id = ($this->sonid + 1);
		}else{	
			$id = 0;
		}
		$this->orjinal[$id] = $orjinal;
		$this->dil[$id] = $dil;
		$this->cevir[$id] = $cevir;
		$this->sonid = $id;
	}
	function cevir($orjinal,$dil) {
		$sonid = $this->sonid;
		$num = 1;
		while($num <= $sonid) {
			if ($this->dil[$num] == $dil && $this->orjinal[$num] == $orjinal) {
				$result = $this->cevir[$num];
			}
			$num = $num + 1;
		}
		return $result;
	} 
}

$dil = new cokluDil;
$dil->baslat();
$dil->donusturmeEkle("iso-8859-9","tr");
$dil->donusturmeEkle("ISO-8859-1","en");
$dil->donustur("tr");
$dil->ceviriEkle("name","en","Name");
$dil->ceviriEkle("name","tr","İsim");
$dil->ceviriEkle("city","en","City");
$dil->ceviriEkle("city","tr","Şehir");
$dil->ceviriEkle("title","en","Title");
$dil->ceviriEkle("title","tr","Başlık");
print $dil->cevir("name","tr")."<br>";
print $dil->cevir("title","en")."<br>";
print $dil->cevir("city","tr")."<br>";
?>

Çıktısı

İsim
Title
Şehir

 

Menü ve Alt Menü Oluşturma Sınıfları

<?php
class altmenu {
  var $adresler;
  var $isim;
  var $dizi;
  var $id;
  function olustur($id){
    $this->dizi=0; 
		$this->id=$id;
  }
  function ekle($url, $desp){
    $this->adresler[$this->dizi]=$url;
    $this->isim[$this->dizi]=$desp;	
    $this->dizi++;
  }
  function acik(){
		$i=0;
		echo '<table width="15%" border="0" align="center">';
		while($i<=$this->dizi-1) {
			if ($i==0){
				echo '<tr><th align="center" bgcolor="#34ABC0"><font color="White">';
				echo $this->isim[0];
				echo '</font></th></tr>';
			}else{
				echo '<tr><td align="center"><font size="-1">';
				echo '<a href="'.$this->adresler[$i].'">'.$this->isim[$i].'</a>';
				echo '</font></td></tr>';
			}
			$i++;
		}
		echo '</table>';
  }
  function kapat(){
    echo '<table width="15%" border="0" align="center">';
    echo '<tr><th align="center" bgcolor="#34ABC0"><font color="White">';
    echo '<a href="?durum=acik&id='.$this->id.'">'.$this->isim[0].'</a>';
		echo '</font></th></tr>';  
    echo '</table>';	
  }
}
class menu{
  var $altmenuler;
  var $dizi;
  var $id;
  function olustur(){
    $this->dizi=0;
		$this->id=2;
  }
  function ekle($altmenu){
    $this->altmenuler[$this->dizi]=new altmenu;
		$this->altmenuler[$this->dizi]=$altmenu;
		$this->dizi++;
  }
  function goster(){
    $i=0;
		$gec = new altmenu;
		while ($i<$this->dizi) {
			$gec=$this->altmenuler[$i];
			if ($gec->id==(string)$this->id) {
				$gec->acik();
			}else{
				$gec->kapat();
			}
			$i++;
		}
  }
}
$mm_1=new altmenu;
$mm_1->olustur('1');
$mm_1->ekle('','Menü1');
$mm_1->ekle('#site=1','Alt Menü1');
$mm_1->ekle('#site=2','Alt Menü2');
$mm_1->ekle('#site=3','Alt Menü3');
$mm_1->ekle('#site=4','Alt Menü4'); 
$mm_2=new altmenu;
$mm_2->olustur('2');
$mm_2->ekle('','Menü2');
$mm_2->ekle('#site=5','Alt Menü1');
$mm_2->ekle('#site=6','Alt Menü2');
$mm_2->ekle('#site=7','Alt Menü3');
$mm_2->ekle('#site=8','Alt Menü4');
$mm_3=new altmenu;
$mm_3->olustur('3');
$mm_3->ekle('','Menü3');
$mm_3->ekle('#site=9','Alt Menü1');
$mm_3->ekle('#site=10','Alt Menü2');
$mm_3->ekle('#site=11','Alt Menü3');
$mm_3->ekle('#site=12','Alt Menü4');
$mm_4=new altmenu;
$mm_4->olustur('4');
$mm_4->ekle('','Menü4');
$mm_4->ekle('#site=13','Alt Menü1');
$mm_4->ekle('#site=14','Alt Menü2');
$mm_4->ekle('#site=15','Alt Menü3');
$mm_4->ekle('#site=16','Alt Menü4');
$m_1=new menu;
$m_1->olustur();
$m_1->ekle($mm_1);
$m_1->ekle($mm_2);
$m_1->ekle($mm_3);
$m_1->ekle($mm_4);
extract($_GET);
if(!isset($durum)){
  $m_1->goster();
}else{
	if ($durum=='acik') {
		$m_1->id=$id;
		$m_1->goster();
	}else{
		$m_1->goster();
	}
}
?>

Çıktısı

<table width="15%" border="0" align="center">
   <tr>
      <th align="center" bgcolor="#34ABC0"><font color="White"><a href="?durum=acik&id=1">Menü1</a></font></th>
   </tr>
</table>
<table width="15%" border="0" align="center">
   <tr>
      <th align="center" bgcolor="#34ABC0"><font color="White">Menü2</font></th>
   </tr>
   <tr>
      <td align="center" ><font size="-1"><a href="#site=5">Alt Menü1</a></font></td>
   </tr>
   <tr>
      <td align="center" ><font size="-1"><a href="#site=6">Alt Menü2</a></font></td>
   </tr>
   <tr>
      <td align="center" ><font size="-1"><a href="#site=7">Alt Menü3</a></font></td>
   </tr>
   <tr>
      <td align="center" ><font size="-1"><a href="#site=8">Alt Menü4</a></font></td>
   </tr>
</table>
<table width="15%" border="0" align="center">
   <tr>
      <th align="center" bgcolor="#34ABC0"><font color="White"><a href="?durum=acik&id=3">Menü3</a></font></th>
   </tr>
</table>
<table width="15%" border="0" align="center">
   <tr>
      <th align="center" bgcolor="#34ABC0"><font color="White"><a href="?durum=acik&id=4">Menü4</a></font></th>
   </tr>
</table>

 

Rastgele Sonsuz Basamaklı Sayı Oluşturma

<?php
class rastgeleUzunSayi{//sonsuz basamaklı rastgele sayı üretebilir
	function olustur($basamaksayisi){
		$sifirla=null;
		$sayi=null;	
		$rastgelesayi = 0;
		$basamak = 0;
		while($basamak < $basamaksayisi){
			$sayi .= rand(0,9);
			$basamak++;
		} 
		if(substr($sayi , -30,1) == 0){//0 ile başlamasın
			return rand(1,9).substr($sayi,1,29);
		}else{
			return $sayi;
		}
	}
}
$g=new rastgeleUzunSayi;
echo "<b>";
echo $sayi = $g->olustur(30);//30 basamaklı sayı üret
?>

Çıktısı

298580541031535769480338548338

 

Renkli Bloklar Oluşturma

<?php
class Bloklar{
	var $renk;
	var $tarih;
	var $yazi;
	function renksec($renk){
		$this->renk = $renk;
	}
	function tarihsec($tarih){
		$this->tarih = $tarih;
	}
	function yazisec($yazi){
		$this->yazi = $yazi;
	}
	function renkgetir(){
		return $this->renk;
	}
	function tarihgetir(){
		return $this->tarih;
	}
	function yazigetir(){
		return $this->yazi;
	}
	function Bloklar(){
		$Bloklar = "<table class='$this->renk' width='200' cellspacing='0'>
		<tr><td class='tarih'>$this->tarih</td></tr>	
		<tr><td>$this->yazi</td></tr></table>";
		return $Bloklar;
	}
}
?>
<STYLE type="text/css">
.sari{border: 1px dotted #C0C0C0;background-color: #FFFFCC;font-size:9pt;}
.sari01{border: 1px dotted #C0C0C0;background-color: #FFEEAB;font-size:9pt;}
.mavi{border:1px dotted #C0C0C0;background-color: #E7F2FF;font-size:9pt;}
.mavi01{border:1px;solid #0cf;background-color: #E7F2FF;font-size:9pt;}
.tarih{border: 1px dotted #C0C0C0;background-color: #FFFFFF;font-size:9pt;}
</STYLE>
<?php
$bloklarim = new Bloklar;
$bloklarim->renksec("mavi");
$bloklarim->tarihsec("09.06.2018 05:47:57");
$bloklarim->yazisec("test");
echo $bloklarim->Bloklar();
$bloklarim = new Bloklar;
$bloklarim->renksec("sari");
$bloklarim->tarihsec("09.06.2018 05:47:57");
$bloklarim->yazisec("test");
echo $bloklarim->Bloklar();
$bloklarim = new Bloklar;
$bloklarim->renksec("mavi01");
$bloklarim->tarihsec("09.06.2018 05:47:57");
$bloklarim->yazisec("test");
echo $bloklarim->Bloklar();
$bloklarim = new Bloklar;
$bloklarim->renksec("sari01");
$bloklarim->tarihsec("09.06.2018 05:47:57");
$bloklarim->yazisec("test");
echo $bloklarim->Bloklar();
?>

Çıktısı

<STYLE type="text/css">
.sari{border: 1px dotted #C0C0C0;background-color: #FFFFCC;font-size:9pt;}
.sari01{border: 1px dotted #C0C0C0;background-color: #FFEEAB;font-size:9pt;}
.mavi{border:1px dotted #C0C0C0;background-color: #E7F2FF;font-size:9pt;}
.mavi01{border:1px;solid #0cf;background-color: #E7F2FF;font-size:9pt;}
.tarih{border: 1px dotted #C0C0C0;background-color: #FFFFFF;font-size:9pt;}
</STYLE>
<table class='mavi' width='200' cellspacing='0'>
<tr><td class='tarih'>09.06.2018 05:47:57</td></tr>	
<tr><td>test</td></tr></table><table class='sari' width='200' cellspacing='0'>
<tr><td class='tarih'>09.06.2018 05:47:57</td></tr>	
<tr><td>test</td></tr></table><table class='mavi01' width='200' cellspacing='0'>
<tr><td class='tarih'>09.06.2018 05:47:57</td></tr>	
<tr><td>test</td></tr></table><table class='sari01' width='200' cellspacing='0'>
<tr><td class='tarih'>09.06.2018 05:47:57</td></tr>	
<tr><td>test</td></tr></table>

 

Gelişmiş Sayfa Çalışma Süresi Hesaplama Sınıfı

<?php
class sayfaSuresi{
	var $alinanSure ;
	var $baslangicSuresi ;
	var $bitisSuresi;
	function alinanSureyiGetir(){
		return $this->alinanSure ;
	}
	function alinanSureAyarla($deger){
		$this->alinanSure = $deger;
	}
	function baslangicSuresiniGetir(){
		return $this->baslangicSuresi ;
	}
	function baslangicSuresiAyarla($deger){
		$this->baslangicSuresi = $deger;
	}
	function bitisSuresiniGetir(){
		return $this->bitisSuresi;
	}
	function bitisSuresiAyarla($deger){
		$this->bitisSuresi = $deger;
	}
	function baslangicSuresi(){
		$msure = microtime();
		$msure = explode(" ",$msure);
		$msure = $msure[1] + $msure[0];
		$this->baslangicSuresiAyarla($msure);
	}
	function bitisSuresi(){
		$msure = microtime();
		$msure = explode(" ",$msure);
		$msure = $msure[1] + $msure[0];
		$this->bitisSuresiAyarla($msure);
	}
	function alinanSureyiBul(){
		$alinanSure = $this->bitisSuresiniGetir() - $this->baslangicSuresiniGetir();
		$this->alinanSureAyarla($alinanSure);
	}
	function alinanSureyiGoster(){
		$this->alinanSureyiBul();

		echo "Sayfa Çalışma Süresi : ".$this->alinanSureyiGetir()." Saniye";
	}
}
$s = new sayfaSuresi();
$s->baslangicSuresi();
for($x=0;$x<10000;$x++);
$s->bitisSuresi();
$s->alinanSureyiGoster();
?>

Çıktısı

Sayfa Çalışma Süresi : 0.0023720264434814 Saniye

 

Basit Resim Yükleme Sınıfı

<?php
class resimYukle {
	var $yol;
	var $yeniresim;
	var $uzanti;
	var $resim;
	var $hata;
	var $yuklenen;
	function tipKontrol(){ 
		if((strcmp($this->resim['type'],'image/jpeg')==0)||(strcmp($this->resim['type'],'image/gif')==0)|| (strcmp($this->resim['type'],'image/pjpeg')==0)||(strcmp($this->resim['type'],'image/jpg')==0)||(strcmp($this->resim['type'],'image/x-png')==0)){ 
			switch($this->resim['type']){ 
	 	 		case 'image/jpg': 
	 	 			$this->uzanti = '.jpg'; 
	 	 		break; 
	 	 		case 'image/jpeg': 
	 	 			$this->uzanti = '.jpg'; 
	 	 		break; 
	 	 		case 'image/pjpeg': 
	 	 			$this->uzanti = '.jpg'; 
	 	 		break; 
	 	 		case 'image/gif': 
	 	 			$this->uzanti = '.gif'; 
	 	 		break;  
	 	 		case 'image/x-png':
	 	 			$this->uzanti = '.png';
	 	 		break;
	 	 	}
	 	 	return true; 
	 	}else{ 
	 		$this->hata .= '<br>Bilinmeyen Resim Tipi '.$this->resim['type'];
	 		return false;
	 	} 
	} 
	function yukle($yeniyol,$resim,$yeniresim=''){
		$this->yol = $yeniyol;
		$this->resim = $resim;
		$this->yuklenen = '';
		if($yeniresim != ''){
			$this->yeniresim = $yeniresim;
		}else{
			$this->yeniresim = $this->resim_adi;
		}
		$this->tipKontrol();
		if($this->uzanti){
			$resimFinal = $this->yol.$this->yeniresim.$this->uzanti;
			if(copy($this->resim['tmp_adi'], $resimFinal)){
				$this->yuklenen = $this->yeniresim.$this->uzanti;
				return $resimFinal;
			}else{
				$this->hata .= '<br>'.$resimFinal.' kopyalanamadı.'.$this->yol.' yazma izinlerini kontrol edin';
				return false;
			}
		}else{
			$this->hata .= '<br>Uzantı alınamadı '.$this->uzanti;
			return false;
		}
	}
}
if($_FILES){
    $y = new resimYukle();
    $y->yukle(getcwd().'/',$_FILES["file"],'yeni');
    echo $y->hata;
}
?>
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" adi="file">
    <input type="submit" value="Yükle">
</form>

 

Günlük Log Eklemek, Görüntülemek ve Kayıtlarını Tutmak

<?php
class log{
   var $dosyaadi;
   function log() {
      $this->dosyaadi = dirname(__FILE__)."/".date("Y.m.d").".log.html";
			if(!file_exists($this->dosyaadi)){
				fopen($this->dosyaadi, "w");
				fclose($this->dosyaadi);
			}
   }
   function ekle($metin, $tip) {
      $dosya = @fopen($this->dosyaadi, "a+");
			if($tip=="error"){ $tip='style="color:red"';}
			if($tip=="success"){ $tip='style="color:green"';}
      if ($dosya) {
        $icerik="<span $tip>".date("d.m.Y H:i:s")." - ".$_SERVER["REMOTE_ADDR"]." - ";
				$icerik.="$metin</span><br>\n";
        fputs($dosya, $icerik);
        fclose($dosya);
      }
   }
   function goster() {
		echo file_get_contents($this->dosyaadi);
   }
}
$l=new log;
$l->ekle("Bu bir hata mesajıdır.","error");
$l->ekle("Bu bir başarı mesajıdır.","success");
$l->goster();
?>

Çıktısı

<span style="color:red">08.06.2018 03:54:09 - 127.0.0.1 - Bu bir hata mesajıdır.</span><br>
<span style="color:green">08.06.2018 03:54:09 - 127.0.0.1 - Bu bir başarı mesajıdır.</span><br>
<span style="color:red">08.06.2018 03:54:10 - 127.0.0.1 - Bu bir hata mesajıdır.</span><br>
<span style="color:green">08.06.2018 03:54:10 - 127.0.0.1 - Bu bir başarı mesajıdır.</span><br>

 

Basit MySQLi Bağlantı Sınıfı

<?php
class mSQLi {
	protected $MySQLiHost    = "localhost";
	protected $MySQLiPort    = "3306";
	protected $MySQLiUser    = "root";
	protected $MySQLiPasswd  = "";
	protected $MySQLiName    = "php";
	protected $MySQLiBaglanti;
	public function __construct(){
		return $this->MySQLiBaglanti();
	}
	public function MySQLiBaglanti(){
		$this->MySQLiBaglanti = mysqli_connect($this->MySQLiHost.":".$this->MySQLiPort, $this->MySQLiUser, $this->MySQLiPasswd,$this->MySQLiName) or die("Veritabanı Bağlantı Hatası: ".mysqli_errno($this->MySQLiBaglanti)." : ".mysqli_error($this->MySQLiBaglanti));
		return true;
	}
	public function MySQLiSonlandir(){
		mysqli_close($this->MySQLiBaglanti);
		return true;
	}
}
$db = new mSQLi;
$db->MySQLiBaglanti();
$db->MySQLiSonlandir();
?>

 

Gelişmiş Dosya Yükleme Sınıfı

<?php
Class Yukle{
	var $maxBoyut;
	var $gonderilenDosya;
	var $hatalar;
	function Yukle($gonderilenDosya){
		$this->gonderilenDosya = $gonderilenDosya;
		$this->gonderim = false;
		$this->maxBoyut=min($this->boyutGetir(ini_get('post_max_size')), $this->boyutGetir(ini_get('upload_max_filesize')));  
	}
	function kaydet($dizin, $alan, $ustuneyaz,$izin=0777){
		$this->gonderim = true;
		if($this->gonderilenDosya[$alan]['size'] < $this->maxBoyut && $this->gonderilenDosya[$alan]['size'] >0){
			$hatayok = true;
			$this->gonderim = true;
			$gecici  = $this->gonderilenDosya[$alan]['tmp_name'];
			$dosya      = $this->gonderilenDosya[$alan]['name'];
			$tumu       = $dizin.$dosya;
			if(file_exists($tumu)){
				if($ustuneyaz){
					@unlink($tumu)         || $hatayok=false; $this->hatalar  = "Yukleme sinifi kaydetme hatasi: uzerine yazilamiyor ".$tumu."<BR>";
					@copy($gecici,$tumu) || $hatayok=false; $this->hatalar .= "Yukleme sinifi kaydetme hatasi: kopyalanamiyor ".$tumu."<BR>";
					@chmod($tumu,$izin)    || $erhatayokrors=false; $this->hatalar .= "Yukleme sinifi kaydetme hatasi: izinleri degistirilemiyor: ".$tumu."<BR>";
				}
			}else{
				@copy($gecici,$tumu)   || $hatayok=false;$this->hatalar  = "Yukleme sinifi kaydetme hatasi: kopyalanamiyor ".$tumu."<BR>";
				@chmod($tumu,$izin)      || $hatayok=false;$this->hatalar .= "Yukleme sinifi kaydetme hatasi: izinleri degistirilemiyor: ".$tumu."<BR>";
			}
			return $hatayok;
		}elseif($this->gonderilenDosya[$alan]['size'] > $this->maxBoyut){
			$this->hatalar = "Dosya boyutu maksimum dosya boyutu ".$this->maxBoyut." baytı aşıyor";
			return false;
		}elseif ($this->gonderilenDosya[$alan]['size'] == 0){
			$this->hatalar = "Dosya boyutu 0 bayt";
			return false;
		}
	}
	function farkliKaydet($dosyaAdi, $dizin, $alan, $ustuneyaz,$izin=0777){
		$this->gonderim = true;
		if ($this->gonderilenDosya[$alan]['size'] < $this->maxBoyut && $this->gonderilenDosya[$alan]['size'] >0){
			$hatayok = true;
			$gecici  = $this->gonderilenDosya[$alan]['tmp_name'];
			$tumu       = $dizin.$dosyaAdi;
			if (file_exists($tumu)){
				if ($ustuneyaz){
					@unlink($tumu)         || $hatayok=false; $this->hatalar  = "Yukleme sinifi farkli kaydetme hatasi: uzerine yazilamiyor ".$tumu."<BR>";
					@copy($gecici,$tumu) || $hatayok=false; $this->hatalar .= "Yukleme sinifi farkli kaydetme hatasi: kopyalanamiyor ".$tumu."<BR>";
					@chmod($tumu,$izin)    || $hatayok=false; $this->hatalar .= "Yukleme sinifi farkli kaydetme hatasi: kopyalanamiyor".$tumu."<BR>";
				}
			}else{
				@copy($gecici,$tumu)   || $hatayok=false; $this->hatalar  = "Yukleme sinifi farkli kaydetme hatasi: kopyalanamiyor ".$tumu."<BR>";
				@chmod($tumu,$izin)      || $hatayok=false; $this->hatalar .= "Yukleme sinifi farkli kaydetme hatasi: izinleri degistirilemiyor: ".$tumu."<BR>";
			}
			return $hatayok;
		}elseif($this->gonderilenDosya[$alan]['size'] > $this->maxBoyut){
			$this->hatalar = "File size exceeds maximum file size of ".$this->maxBoyut." bytes";
			return false;
		}elseif($this->gonderilenDosya[$alan]['size'] == 0){
			$this->hatalar = "File size is 0 bytes";
			return false;
		}
	}
	function boyutGetir($boyut){
		$ek = strtoupper(substr($boyut, -1));
    if(!in_array($ek,array('P','T','G','M','K'))){
			return (int)$boyut;  
    } 
    $deger = substr($boyut, 0, -1);
    switch ($ek) {
			case 'P': $deger *= 1024;
			case 'T': $deger *= 1024;
			case 'G': $deger *= 1024;
			case 'M': $deger *= 1024;
			case 'K': $deger *= 1024;
      break;
    }
    return (int)$deger;
	}
	function dosyaAdi($alan){
		return $this->gonderilenDosya[$alan]['name'];
	}
	function dosyaTipi($alan){
		return $this->gonderilenDosya[$alan]['type'];
	}	
	function dosyaBoyutu($alan){
		return $this->gonderilenDosya[$alan]['size'];
	}
}
if($_FILES){
	$u=new Yukle($_FILES);
	$u->kaydet("C:/tmp/", "file", $ustuneyaz=true,$izin=0777);
	$u->farkliKaydet("test2.pdf","C:/tmp/", "file", $ustuneyaz=true,$izin=0777);
	echo $u->dosyaAdi("file")."<br>";
	echo $u->dosyaTipi("file")."<br>";
	echo $u->dosyaBoyutu("file")." bayt";
}
?>
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="Yükle">
</form>

Çıktısı

Kitap.pdf
application/pdf
3890313 bayt

 

Sayfa Üretim Zamanı

<?php
class sayfaUretimZamani{
 function ZAMAN_AL(){
    list($usn, $sn) = explode(" ",microtime());
    return ((float)$usn + (float)$sn);
 }
 function ZAMAN_FARKI($baslangic, $bitis){
    $fark = $bitis - $baslangic;
    return $fark;
 }
}
$z = new sayfaUretimZamani;
$baslangic = $z->ZAMAN_AL();
for($x=0;$x<10000;$x++){}
$bitis = $z->ZAMAN_AL();
echo round($z->ZAMAN_FARKI($baslangic, $bitis),4);
?>

Çıktısı

0.001