Benzersiz Oturum Kimliği Oluşturma Sınıfı

<?php
class benzersizOturumKimligi{
var $ip;
var $karaktersil;
	function benzersizOturumKimligi($mod = "normal"){
	global $X_HTTP_FORWARDED_FOR, $REMOTE_ADDR;
	$this->karaktersil = ".";
		if(!isset($X_HTTP_FORWARDED_FOR)){
			$this->ip = $REMOTE_ADDR;
		}else{
			$this->ip = $X_HTTP_FORWARDED_FOR;
		}
		if($mod == "gelismis"){
	    	return $this->karakterkaldir(md5(time().$this->ip).$this->rand_num($mod), $this->karaktersil);
		}else{
	    	return $this->karakterkaldir(time().$this->ip.$this->rand_num($mod), $this->karaktersil);
		}
	}
	function karakterkaldir($metin, $karakter, $y = ""){
		$m = explode($karakter, $metin);
		while(list($anahtar, $deger) = each($m)){
			$y.= $deger;
		}
	return $y;
	}
	function rand_num($mod){
		if($mod == "gelismis"){
	    	srand ((double)microtime()*1000000);
	    	return rand(getrandmax()/2000, getrandmax()).rand();
		}
		else{
		    srand ((double)microtime()*1000000);
	    	return rand();
		}
	}
}
$sess = new benzersizOturumKimligi;
echo $sess->benzersizOturumKimligi()."<br>";                      
echo $sess->benzersizOturumKimligi("gelismis");
?>

Çıktısı

153001689518430
7c93ad34f4d467fa10a2306618b856d41843715199

 

Uzak Sunucu Dosya İstatiktikleri Sınıfı

<?php
class UzakDosyaKontrol {
	var $hata;
	var $hatano;
	var $hatamesaj;
	var $sunucu;
	var $tarih;
	var $boyut;
	var $tip;
	var $httpcevir = array('Server' => 'sunucu',
		'Last-Modified' => 'tarih',
		'Content-Length' => 'boyut',
		'Content-Type' => 'tip'
		); 
	var $istatistik = array('sunucu' => '',
		'tarih' => '',
		'boyut' => '',
		'tip' => ''
		);
	function UzakDosyaKontrol($sunucu, $file, $port = 80) {
		$file = preg_replace("#^\/|^#i", "/", $file);
		$this->hata = false;
		$fp = fsockopen ($sunucu, $port, $this->hatano, $this->hatamesaj, 30);
		if($fp) {
			fputs ($fp, "HEAD $file HTTP/1.0\r\n");
			fputs ($fp, "Host: $sunucu\r\n" );
			fputs ($fp, "\r\n");
			while(!feof($fp)) {
				$satir = fgets($fp,4096);
				if(preg_match("/^([a-zA-Z\-]+): ([[:ascii:]]+)$/", $satir, $dizi)) {
					if(isset($this->httpcevir[$dizi[1]])) {
						$this->istatistik[$this->httpcevir[$dizi[1]]] = $dizi[2];
					}
				}
			}
		} else {
			$this->hata = true;
		}
	}
	function sunucugetir() {
		return $this->istatistik['sunucu'];
	}
	function tarihgetir() {
		return date("d.m.Y H:i:s",strtotime($this->istatistik['tarih']));
	}
	function boyutgetir() {
		return $this->istatistik['boyut'];
	}
	function tipgetir() {
		return $this->istatistik['tip'];		
	}
	function hatagetir() {
		return $this->hata;
	}
	function hatamesajgetir() {
		return $this->hatamesaj;
	}
	function hatanogetir() {
		return $this->hatano;
	}
	
}
$r = new UzakDosyaKontrol('www.google.com.tr', 'images/branding/googlelogo/2x/googlelogo_color_272x92dp.png');
if($r->hata) {
	echo $r->hatamesajgetir(), '(', $r->hatanogetir(), ')<br>';
}else{
	echo $r->sunucugetir(), 
	'<br>',$r->tarihgetir(), 
	'<br>',$r->boyutgetir(), 
	'bayt<br>',$r->tipgetir(), '<br>';
}
?>

Çıktısı

sffe 
08.12.2016 02:00:57
13504 bayt
image/png

 

Blok Oluşturma Süresi

<?php
class Damgalar {
	var $tdizi = array();
	var $i = 0;
	function Damgalar($yorum = '') {
		$this->sureEkle($yorum);
	}
	function sureEkle($yorum = '') {
		$this->tdizi[$this->i][0] = $this->sureGetir();
		$this->tdizi[$this->i][1] = $yorum.(empty($yorum) ? 'timestamp'.$this->i : '' );
		$this->i++;
	}
	function sureGetir() {
		list($usaniye, $saniye) = explode(' ', microtime());
		return ((float)$usaniye + (float)$saniye);
	}
	function boyutGetir() {
		if (sizeof($this->tdizi) < 2) $this->sureEkle('last timestamp');
		return ( $this->tdizi[sizeof($this->tdizi)-1][0] - $this->tdizi[0][0] );
	}
	function diziGetir() {
		$odizi = array();
		for ($x=1; $x<sizeof($this->tdizi); $x++) {
			$odizi[$x][0] = $this->tdizi[$x][0] - $this->tdizi[$x-1][0];
			$odizi[$x][1] = $this->tdizi[$x-1][1].'-'.$this->tdizi[$x][1];
		}
		return $odizi;
	}
	function yazdir() {
		$odizi = $this->diziGetir();
		echo '<table border="1"><tr bgcolor="#cccccc"><td><b>Sure</b></td><td><b>Aciklama</b></td></tr>';
		for ($x=1; $x<sizeof($this->tdizi); $x++) {
			echo '<tr>
			<td>'.number_format($odizi[$x][0], 14, '.', ' ').'</td>
			<td>'.$odizi[$x][1].'</td>
			</tr>';
		}
		echo '</table>';
	}
}
$ts = new Damgalar('blok1');
$ts->sureEkle('blok2');
$ts->sureEkle('block3');
echo 'Sayfa '.$ts->boyutGetir().' saniyede olusturuldu';
$ts->yazdir();
?>

Çıktısı

Sayfa 0.0010001659393311 saniyede olusturuldu
Sure	Aciklama
0.00000000000000	blok1-blok2
0.00100016593933	blok2-block3

 

Yılın Kaçıncı Haftasındayız

<?php
class Haftabul {
	var $damga;
	function __construct($tarih){
		if (is_int ($tarih))
			$this->damga = $tarih;
		else {
			if (preg_match ("/^[\d]{4}\/([0]?\d|1[0-2])\/([1-2][0-9]|3[0-1]|[0]?[1-9])$/", $tarih)) {
				$gecici = explode ("/", $tarih);
				if (checkdate ($gecici [1], $gecici [2], $gecici [0]))
					$this->damga = mktime (0, 0, 0, $gecici [1], $gecici [2], $gecici [0]);
			}
		}
	}
	function KacinciHafta(){
		if (isset ($this->damga))
			$tdamga = $this->damga;
		else
			return (false);
		$gun	= date ("z", $tdamga) + 1;
		$hafta	= ($gun >= 7 ? ceil ($gun / 7) : 1);
		return $hafta;
	}

}
$a=new Haftabul("2018/06/22");
echo $a->KacinciHafta();
?>

Çıktısı

25

 

Türk Parasının Yazıyla Okunuş Sınıfı

<?php
class paraOku{
	public $bir = array("","bir","iki","üç","dört","beş","altı","yedi","sekiz","dokuz");
	public $on = array("","on","yirmi","otuz","kırk","elli","atmış","yetmiş","seksen","doksan");
	public $ek = array("","yüz","bin","milyon","milyar","trilyon","katrilyon","kentilyon","seksilyon","septilyon","oktilyon");
	function cevir($para){
		$ayir=explode(".",$para);
		$lira=$this->okut($ayir[0])." Türk Lirası";
		$kurus="";
		if(count($ayir)==2){
			$kurus=($ayir[1]!="")?",".$this->okut($ayir[1])." Kuruş":"";
		}
		return str_replace("  "," ",$lira.$kurus);
	}
	function uclu($rakam){
		if(strlen($rakam)==1){ return $this->bir[substr($rakam,0,1)];}
		if(strlen($rakam)==2){ return $this->on[substr($rakam,0,1)]."".$this->bir[substr($rakam,1,1)];}
		if(strlen($rakam)==3){ 
			if(substr($rakam,0,1) > 0){
				if(substr($rakam,0,1) == 1){
					$yuzler=$this->ek[1];
				}else{
					$yuzler=$this->bir[substr($rakam,0,1)].$this->ek[1];
				}
			}else{
				$yuzler=$this->bir[substr($rakam,0,1)];
			}
			$m=$yuzler."".$this->on[substr($rakam,1,1)]."".$this->bir[substr($rakam,2,1)];
			return $this->ilkharfbuyut($m);
		}
	}
	function ilkharfbuyut($metin){
		mb_internal_encoding('UTF-8');
		return mb_strtoupper(mb_substr($metin,0,1)).mb_substr($metin,1,mb_strlen($metin)-1);
	}
	function okut($n){
		$m=null;
		$ns=explode(',',number_format($n));
		for($i=0;$i<count($ns);$i++){
			$j=(count($ns)-$i);
			if($j > 1){
				if($ns[$i] == 1 and $this->ek[$j] =="bin"){
					$m.=$this->ek[$j]." ";
				}else{
					if($ns[$i] !="000"){
						$m.=$this->uclu($ns[$i])."".$this->ek[$j]." ";
					}
				}
			}else{
				$m.=$this->uclu($ns[$i])."";
			}
		}
		return str_replace("  "," ",$this->ilkharfbuyut($m));
	}
}
$po=new paraOku();
echo $po->cevir(3432);
echo "<br>";
echo $po->cevir(140200.99);

Çıktısı

Üçbin Dörtyüzotuziki Türk Lirası
Yüzkırkbin Ikiyüz Türk Lirası,Oniki Kuruş

 

Diziyi Xml’ye Çevirme

<?php
class dizidenXmlye{
	var $dizi = [];
	var $xml = '';
	function dizidenXmlye($dizi){
		$this->dizi = $dizi;
		if(is_array($dizi) && count($dizi) > 0){
			$this->xmlYapisi($dizi);
		}else{
			$this->xml .= "veri yok";
		}
	}
	function xmlYapisi($dizi){
		foreach($dizi as $k=>$v){
			if(is_array($v)){
				$etiket = preg_replace('/^[0-9]{1,}/','veri',$k);
				$this->xml .= "<$etiket>";
				$this->xmlYapisi($v);
				$this->xml .= "</$etiket>";
			}else{
				$etiket = preg_replace('/^[0-9]{1,}/','veri',$k);
				$this->xml .= "<$etiket>$v</$etiket>";
			}
		}
	}
	function xmlGetir(){
		$ustbilgi = "<?xml version=\"1.0\" encoding=\"utf-8\"?><ana>";
		$altbilgi = "</ana>";
		echo $ustbilgi;
		echo $this->xml;
		echo $altbilgi;
	}
}
$ornek = [
  0=>['makale'=>
    ['id'=>1,'baslik'=>'baslik','icerik'=>'icerik.','olusturma'=>'2008-07-28 12:01:06','degistirme'=>'']
  ],
  1=>['makale' =>
    ['id'=>2,'baslik'=>'baslik2','icerik'=>'icerik2','olusturma'=>'2008-07-28 12:01:06','degistirme'=>'',['asdfgh']]
  ],
  2=>['makale'=>
    ['id'=>3,'baslik'=>'baslik3','icerik'=>'icerik3','olusturma'=>'2008-07-28 12:01:06','degistirme'=>'']
  ]
];
$xml = new dizidenXmlye($ornek);
header ("Content-type: text/xml");
echo $xml->xmlGetir();
?>

Çıktısı

<ana>
<veri>
<makale>
<id>1</id>
<baslik>baslik</baslik>
<icerik>icerik.</icerik>
<olusturma>2008-07-28 12:01:06</olusturma>
<degistirme/>
</makale>
</veri>
<veri>
<makale>
<id>2</id>
<baslik>baslik2</baslik>
<icerik>icerik2</icerik>
<olusturma>2008-07-28 12:01:06</olusturma>
<degistirme/>
<veri>
<veri>asdfgh</veri>
</veri>
</makale>
</veri>
<veri>
<makale>
<id>3</id>
<baslik>baslik3</baslik>
<icerik>icerik3</icerik>
<olusturma>2008-07-28 12:01:06</olusturma>
<degistirme/>
</makale>
</veri>
</ana>

 

Basit Tarayıcı ve İşletim Sistemi Belirleme Sınıfı

<?php
class TarayiciTipi{
  var $bilgi; 
  function TarayiciTipi(){ 
		$this->bilgi = $_SERVER["HTTP_USER_AGENT"];
  }
  function tarayiciIsmiGetir(){
    $isim = "";
		if ($pos=strpos($this->bilgi,"Chrome")){
			$isim = trim(substr($this->bilgi,$pos,1000));
		}elseif ($pos=strpos($this->bilgi,"Firefox")){
			$isim = trim(substr($this->bilgi,$pos,1000));
		}elseif($pos=strpos($this->bilgi,"Safari")){
			$isim = trim(substr($this->bilgi,$pos,1000));
		}elseif($pos=strpos($this->bilgi,"Opera")){
			$isim = trim(substr($this->bilgi,$pos,1000));
		}elseif($pos=strpos($this->bilgi,"K-Meleon")){
			$isim = trim(substr($this->bilgi,$pos,1000));
		}elseif($pos=strpos($this->bilgi,"Firebird")){
			$isim = trim(substr($this->bilgi,$pos,1000));
		}elseif($pos=strpos($this->bilgi,"Netscape")){
			$isim = trim(substr($this->bilgi,$pos,1000));
		}elseif (preg_match("/Konqueror/",$this->bilgi)){
			$isim = "Konqueror";
		}elseif(preg_match("/Mozilla/",$this->bilgi)){
			$isim = "Mozilla/5.0";
		}else{ 
			$isim = "Diğer";
		}
		return ($isim);
  }
  function isletimSistemiIsmiGetir(){
    $isim = "";
		if (preg_match("/Windows/",$this->bilgi)){
			$isim = "Windows";
		}elseif (preg_match("/Linux/",$this->bilgi)){
			$isim = "Linux !";
		}elseif (preg_match("/Unix/",$this->bilgi)){
			$isim = "Unix";
		}else{ 
			$isim = "Diğer";
		}
		return $isim;
  }
}
$t = new TarayiciTipi();
echo "Tarayıcı Tipi : ".$t->tarayiciIsmiGetir()."<br>";
echo "İşletim Sistemi : ".$t->isletimSistemiIsmiGetir();
?>

Çıktısı

 

Sunucu Kullanılabilir Port Kontrol Sınıfı

<?php
class porttara {
var $liste=["80||HTTP","443||SSL","2083||CPanelSSL","2082||CPanel","2087||WHMSSL","2086||WHM","2096||WebMailSSL","2095||WebMail","2077||Webdisk","2078||WebdiskSSL","8443||PleskSSL","8880||Plesk","21||FTP","990||FTPs","22||SFTP","2222||SFTPShare","25||SMTP","26||SMTP","587||SMTP","465||SMTPSSL","110||POP3","995||POP3SSL","143||IMAP","993||IMAPSSL","3306||MySQL","1433||MSSQL","5432||PostgreSQLServer","53||DomainNameServer","9998||PleskWebmail","9001||DotNetPanel"];
	var $host="127.0.0.1";
	var	$sonuc=[];
	public function tara() {
		$this->liste=array_unique($this->liste);
		foreach($this->liste as $liste){
			$parca=explode("||",$liste);
			if(count($parca) == 2) {
				$sc=socket_create (AF_INET, SOCK_STREAM, getprotobyname("TCP"));
				if(@socket_connect($sc,$this->host,$parca[0])){
					$this->sonuc[]=$parca[0]."||<b style='color:green'>Açık</b>||".$parca[1];
				}else{
					$this->sonuc[]=$parca[0]."||<i style='color:red'>Kapalı</i>||".$parca[1];
				}
			}
		}
	}
}
$tara=new porttara;
$tara->host="127.0.0.1";
$tara->tara();
print_r($tara->sonuc);
?>

Çıktısı

Array
(
    [0] => 80||Açık||HTTP
    [1] => 443||Kapalı||SSL
    [2] => 2083||Kapalı||CPanelSSL
    [3] => 2082||Kapalı||CPanel
    [4] => 2087||Kapalı||WHMSSL
    [5] => 2086||Kapalı||WHM
    [6] => 2096||Kapalı||WebMailSSL
    [7] => 2095||Kapalı||WebMail
    [8] => 2077||Kapalı||Webdisk
    [9] => 2078||Kapalı||WebdiskSSL
    [10] => 8443||Kapalı||PleskSSL
    [11] => 8880||Kapalı||Plesk
    [12] => 21||Kapalı||FTP
    [13] => 990||Kapalı||FTPs
    [14] => 22||Kapalı||SFTP
    [15] => 2222||Kapalı||SFTPShare
    [16] => 25||Kapalı||SMTP
    [17] => 26||Kapalı||SMTP
    [18] => 587||Kapalı||SMTP
    [19] => 465||Kapalı||SMTPSSL
    [20] => 110||Kapalı||POP3
    [21] => 995||Kapalı||POP3SSL
    [22] => 143||Kapalı||IMAP
    [23] => 993||Kapalı||IMAPSSL
    [24] => 3306||Açık||MySQL
    [25] => 1433||Kapalı||MSSQL
    [26] => 5432||Kapalı||PostgreSQLServer
    [27] => 53||Kapalı||DomainNameServer
    [28] => 9998||Kapalı||PleskWebmail
    [29] => 9001||Kapalı||DotNetPanel
)

 

Ç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