Mcrypt ile Şifreleme Sınıfı

<?php
header('Content-Type: text/html; charset=iso-8859-9');
class SifreleCoz {
	var $anahtar;
	var $veri;
	var $td;
	var $iv;
	var $bas = false;
	function SifreleCoz($anahtar='',$veri=''){
		if ($anahtar != ''){
			$this->bas($anahtar);			
		}
		$this->veri = $veri;
	}
	function bas(&$anahtar){
		$this->td = mcrypt_module_open ('des', '', 'ecb', ''); 
		$this->anahtar = substr ($anahtar, 0, mcrypt_enc_get_key_size($this->td)); 
		$iv_boyut = mcrypt_enc_get_iv_size($this->td); 
		$this->iv = mcrypt_create_iv($iv_boyut, MCRYPT_RAND);
		$this->bas = true;
	}
	function anahtarAyarla($anahtar){
		$this->bas($anahtar);
	}
	function veriAyarla($veri){
		$this->veri = $veri;
	}
	function &anahtarGetir(){
		return $this->anahtar;
	}
	function &veriGetir(){
		return $this->veri;
	}
	function &sifrele($veri=''){
		return $this->_sifre('sifrele',$veri);
	}
	function &coz($veri=''){
		return $this->_sifre('coz',$veri);
	}
	function kapat(){
		mcrypt_module_close($this->td); 
	}
	function &_sifre($mode,&$veri){
		if ($veri != ''){
			$this->veri = $veri;
		}
		if ($this->bas){
			if (mcrypt_generic_init($this->td,$this->anahtar,$this->iv) != -1){ 
				if ($mode == 'sifrele'){
					$this->veri = mcrypt_generic($this->td, $this->veri); 
				}elseif($mode == 'coz'){
					$this->veri = mdecrypt_generic($this->td, $this->veri); 
				}
				mcrypt_generic_deinit($this->td);
				return $this->veri;
			}else{
				trigger_error('Error basialising '.$mode.'ion handle',E_USER_ERROR);
			}
		}else{
			trigger_error('Key not set. Use anahtarAyarla() method',E_USER_ERROR);
		}
	}
}
$sc = new SifreleCoz('gizli anahtar');
$kullanici = 'kullanici';
$sifre = 'sifre';
$s_kullanici = $sc->sifrele($kullanici);
$s_sifre = $sc->sifrele($sifre);
echo 'sifreli kullanici: '.$s_kullanici;
echo '<br>';
echo 'sifreli sifre: '.$s_sifre;
echo '<br>';
echo 'sifresiz kullanici: '.$sc->coz($s_kullanici);
echo '<br>';
echo 'sifresiz sifre: '.$sc->coz($s_sifre);
echo '<br>';
$sc->kapat();
?>

Çıktısı

sifreli kullanici: £ÈÄN/©„İ­ÂÒñ£
sifreli sifre: rtï§ğ
sifresiz kullanici: kullanici
sifresiz sifre: sifre

 

Karmaşık Sayılar Hesaplama Sınıfı

<?php
class Z{
	function Z($x = "", $y = "", $kartezyen = 0, $radyan = 0 ){
		if( $radyan ){
			$this->radyan = $radyan;
		}
		list( $this->x, $this->y ) = $this->ayir(func_get_args());
	}
	function ayarla($radyan = 0){
		$this->radyan = $radyan;
		return $this->radyan;
	}
	function x(){
		return $this->x;
	}
	function y(){
		return $this->y;
	}
	function mod(){
		return hypot( $this->x, $this->y );
	}
	function arguman(){
		if( $this->radyan ){
			return rad2deg( atan( $this->y / $this->x ) );
		}
		else{
			return atan( $this->y / $this->x );
		}
	}
	function ekle(){
		list( $x, $y ) = $this->ayir(func_get_args());
		$this->x+= $x;
		$this->y+= $y;
	}
	function alt(){
		list( $x, $y ) = $this->ayir(func_get_args());
		$this->x-= $x;
		$this->y-= $y;
	}
	function cok(){
		list( $x, $y ) = $this->ayir(func_get_args());
		list( $mod, $arg ) = $this->polar( $x, $y );
		list( $this->x, $this->y ) = $this->kartezyen( $this->mod()*$mod, $this->arguman()+$arg );
	}
	function bol(){
		list( $x, $y ) = $this->ayir(func_get_args());
		list( $mod, $arg ) = $this->polar( $x, $y );
		list( $this->x, $this->y ) = $this->kartezyen( $this->mod()/$mod, $this->arguman()-$arg );
	}
	function ayir( $dizi ){
		list ($x, $y, $kartezyen, $radyan ) = $dizi;
		if( $x ){
			if( $y ){
				if( $kartezyen == 1 ){
					if( stristr( $y, "d" ) || ( ($radyan == 1) && (!stristr( $y, "d" )) ) ){
						$y = deg2rad( $y );
					}
					list( $x, $y ) = $this->kartezyen( $x, $y );
				}
				else{
					$x = $x;
					$y = $y;
				}
			}
			else{
				list( $x, $y ) = $this->ayir_no( $x );
			}
		}
		return array( @$x, @$y );
	}
	function ayir_no($veri){
		$veri = preg_replace("/\s*/","",$veri);
		if( preg_match("/(?i)[^erd\-+ij.,0-9]+/", $veri) ){
			return -1;
		}
		else{
			if( stristr( $veri, "e" ) ){
				preg_match("/(?i)([0-9]+)e-[ij]?([0-9rd]+)[ij]?/", $veri, $dizi);
				if( sizeof( $dizi ) ){
					if( veriiveri( $dizi[2], "d" ) ){
						$dizi[2] = deg2rad( $dizi[2] );
					}
					list( $re, $y ) = $this->kartezyen( $dizi[1], $dizi[2] );
				}
			}else{
				preg_match_all( "/(?i)([\-+]?[0-9.,ij]+)/", $veri, $dizi, PREG_SET_ORDER );
				if( sizeof( $dizi ) ){
					foreach( $dizi as $sayi ){
						if( preg_match( "/(?i)[ij]/", $sayi[1] ) ){
							$y += $sayi[1];
						}else{
							$re += $sayi[1];
						}
					}
				}
			}
			return array($re, $y);
		}
	}
	function kartezyen( $mod, $a ){
		return array( ( $mod*cos($a) ), ( $mod*sin($a) ) );
	}
	function polar( $re, $y ){
		return array( hypot( $re, $y ) , atan( ($y/$re) ) );
	}
}
print_r(new Z($x = "5", $y = "6", $kartezyen = 0, $radyan = 0 ));
echo "<br>";
print_r(new Z($x = "5", $y = "6", $kartezyen = 0, $radyan = 1 ));
echo "<br>";
print_r(new Z($x = "5", $y = "6", $kartezyen = 1, $radyan = 0 ));
echo "<br>";
print_r(new Z($x = "5", $y = "6", $kartezyen = 1, $radyan = 1 ));
?>

Çıktısı

Z Object ( [y] => 6 [x] => 5 ) 
Z Object ( [radyan] => 1 [y] => 6 [x] => 5 ) 
Z Object ( [y] => -1.3970774909946 [x] => 4.8008514332518 ) 
Z Object ( [radyan] => 1 [y] => 0.52264231633827 [x] => 4.9726094768414 )

 

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
)