Fikstür Tarzında Takım Oluşturup Eşleştirmek

<?php
class fikstur{
	var $history=array();
	var $sayi=8;
	var $a=array();
	function takimOlustur(){
		for($i=1;$i<=$this->sayi;$i++){
			$this->a[]="Takim ".$i;
		}
	}
	function gecmisiTemizle($team1,$team2){
		if(sizeof($this->history)>0){
			foreach($this->history[$team1] as $key => $val){							
				if($val==$team2&&$val){
					$this->history[$team1][$key]=0;
					break;
				}
			}
		}
	}
	function gecmisOlustur(){
		for($i=0;$i<$this->sayi;$i++){
			for($j=0;$j<$this->sayi;$j++){				
				if($i==$j) $this->history[$this->a[$i]][]=0;
				else $this->history[$this->a[$i]][]=$this->a[$j];
			}
		}
	}
	function takimYazdir(){
		print_r($this->teams);
	}
	function gemisKontrol($temphistory,$team){
		if(sizeof($temphistory)>0){
			foreach($temphistory as $val){
				if($val==$team){
					return false;
				}
			}
		}
		return true;
	}
	function tasi(){
		$temphistory=array();
		for($i=0;$i<$this->sayi;$i++){	
			if(sizeof($this->history)>0){		
				foreach($this->history[$this->a[$i]] as $key => $val){
					if($val&&$this->gemisKontrol($temphistory,$val)&&$this->gemisKontrol($temphistory,$this->a[$i])){	
						$temphistory[]=$this->a[$i];
						$temphistory[]=$val;
						break;
					}
				}
			}
		}
		$this->a=$temphistory;
	}
	function calistir(){
		for($j=1;$j<$this->sayi;$j++){
			for($i=0;$i<$this->sayi;$i+=2){
				srand();
				$r=rand(0,1);
				if($r==1){
					echo $this->a[$i]."-".$this->a[$i+1];
				}
				else{
					echo $this->a[$i+1]."-".$this->a[$i];
				}
				echo "<br />";
				$this->gecmisiTemizle($this->a[$i],$this->a[$i+1]);
				$this->gecmisiTemizle($this->a[$i+1],$this->a[$i]);
			}
			echo "<hr>";
			$this->tasi();
		}
	}
}
$s=new fikstur();
$s->sayi=8;
$s->takimOlustur();
$s->gecmisOlustur();
$s->calistir();
?>

Çıktısı

Takim 2-Takim 1
Takim 3-Takim 4
Takim 6-Takim 5
Takim 8-Takim 7
Takim 1-Takim 3
Takim 4-Takim 2
Takim 5-Takim 7
Takim 8-Takim 6
Takim 4-Takim 1
Takim 3-Takim 2
Takim 8-Takim 5
Takim 6-Takim 7
Takim 5-Takim 1
Takim 4-Takim 6
Takim 3-Takim 7
Takim 2-Takim 8
Takim 6-Takim 1
Takim 2-Takim 5
Takim 7-Takim 4
Takim 8-Takim 3
Takim 1-Takim 7
Takim 6-Takim 2
Takim 3-Takim 5
Takim 4-Takim 8
Takim 1-Takim 8
Takim 7-Takim 2
Takim 3-Takim 6
Takim 5-Takim 4

 

Toplamı Belirli Rastgele Ondalıklı Sayılar Üretmek

<?php
class rastgeleOndalikliSayiOlustur{
	public $sayiolustur = array();
	function __construct($toplam, $kac){
		$i = 0;
		while ($i != $kac) {
			if ($i == $kac - 1) { $this->sayiolustur[count($this->sayiolustur)] = $toplam; } else {
				$this->sayiolustur[count($this->sayiolustur)] = round(lcg_value() * intval($toplam / rand(1, rand(2, $kac - $i))), 2);
				$toplam -= $this->sayiolustur[count($this->sayiolustur) - 1];
			}
			$i++;
		}
	}
}
$r = new rastgeleOndalikliSayiOlustur(125, 6);
print_r($r->sayiolustur);
?>

Çıktısı

Array
(
    [0] => 26.29
    [1] => 11.57
    [2] => 41.69
    [3] => 12.95
    [4] => 14.69
    [5] => 17.81
)

Zamana ve Anahtara Göre Değişken Şifreleme Sınıfı

<?php
class Sifreleyici{
	var $anahtar;
	function Sifreleyici($anahtar){
		$this->anahtar = $anahtar;
		}
	function anahtardegistir($anahtar){
		$this->anahtar = $anahtar;
	}
	function anahtarED($metin) { 
		$sifrele_anahtar = md5($this->anahtar); 
		$ctr=0; 
		$topla = ""; 
		for ($i=0;$i<strlen($metin);$i++) { 
			if ($ctr==strlen($sifrele_anahtar)) $ctr=0; 
			$topla.= substr($metin,$i,1) ^ substr($sifrele_anahtar,$ctr,1); 
			$ctr++; 
		} 
		return $topla; 
	} 
	function sifrele($metin){ 
		srand((double)microtime()*1000000); 
		$sifrele_anahtar = md5(rand(0,32000)); 
		$ctr=0; 
		$topla = ""; 
		for ($i=0;$i<strlen($metin);$i++){ 
			if ($ctr==strlen($sifrele_anahtar)) $ctr=0; 
			$topla.= substr($sifrele_anahtar,$ctr,1) . 
			(substr($metin,$i,1) ^ substr($sifrele_anahtar,$ctr,1)); 
			$ctr++; 
		} 
		return base64_encode($this->anahtarED($topla)); 
	} 
	function coz($metin) { 
		$metin = $this->anahtarED(base64_decode($metin)); 
		$topla = ""; 
		for ($i=0;$i<strlen($metin);$i++){ 
			$md5 = substr($metin,$i,1); 
			$i++; 
			$topla.= (substr($metin,$i,1) ^ $md5); 
		} 
		return $topla; 
	} 
}
$c=new Sifreleyici("asd");
echo $c->sifrele("12345678");
echo $c->coz("VGoJPwM/B2ACNl8+BWhSOQ==");
?>

Çıktısı

VGoJPwM/B2ACNl8+BWhSOQ==
12345678

 

Gif, Jpeg ve Png Resimleri Yeniden Boyutlandırma Sınıfı

<?php
class Resim{
	var $gecerliuzantilar = array(".jpg",".gif",".png");
	var $kalite = 100;
	var $resimadres;
	var $resimnesne;
	var $Resimtip;
	var $resimboyutlandir;
	function Resim($Resim){
		if($this->IsResim($Resim)){
			$this->getirResimtip($Resim);
			$this->resimadres = $Resim;
			$this->olustur();	
			return true;
		}else{
			return false;
		}
	}
	function __destruct(){
		if($this->IsResim($this->resimadres)){
			imagedestroy($this->resimnesne);
			if(!empty($this->resimboyutlandir)){
				imagedestroy($this->resimboyutlandir);
			}
		}
	}
	function olustur(){
		switch($this->Resimtip){
			case ".gif":
				$this->resimnesne = imagecreatefromgif($this->resimadres);			
			break;
			case ".jpg":
				$this->resimnesne = imagecreatefromjpeg($this->resimadres);
			break;
			case ".png":
				$this->resimnesne = imagecreatefrompng($this->resimadres);
			break;
		}
	}
	function Resize($yuzde){
		list($genislik, $yukseklik) = getimagesize($this->resimadres);
		$yenigenislik = intval(($genislik * $yuzde) / 100);
		$yeniyukseklik = intval(($yukseklik * $yuzde) / 100);
		if($yenigenislik == 0){$yenigenislik++;}
		if($yeniyukseklik == 0){$yeniyukseklik++;}
		$this->resimboyutlandir = imagecreatetruecolor($yenigenislik, $yeniyukseklik);
		imagecopyresampled($this->resimboyutlandir, $this->resimnesne, 0, 0, 0, 0, $yenigenislik, $yeniyukseklik, $genislik, $yukseklik);
		switch($this->Resimtip){
			case ".gif":
				imagegif($this->resimboyutlandir,$this->resimadres);
			break;
			case ".jpg":
				imagejpeg($this->resimboyutlandir,$this->resimadres,$this->kalite);
			break;
			case ".png":
				imagepng($this->resimboyutlandir,$this->resimadres);
			break;
		}
	}
	function ResizeWH($W,$H){
		if($this->IsResim($this->resimadres)){
			list($genislik, $yukseklik) = getimagesize($this->resimadres);		
			$yenigenislik = $W;
			$yeniyukseklik = $H;
			$this->resimboyutlandir = imagecreatetruecolor($yenigenislik, $yeniyukseklik);
			imagecopyresampled($this->resimboyutlandir, $this->resimnesne, 0, 0, 0, 0, $yenigenislik, $yeniyukseklik, $genislik, $yukseklik);
			switch($this->Resimtip){
				case ".gif":
					imagegif($this->resimboyutlandir,$this->resimadres);
				break;
				case ".jpg":
					imagejpeg($this->resimboyutlandir,$this->resimadres,$this->kalite);
				break;
				case ".png":
					imagepng($this->resimboyutlandir,$this->resimadres);
				break;
			}
		}
	}
	function IsResim($File){
		if($this->Resimvarmi($File)){
			$uzantis = implode(",",$this->gecerliuzantilar);
			$uzanti = strtolower(substr ($File, strrpos ($File, ".")));
			$this->uzanti = $uzanti;
			return $uzanti;
			$this->gecerliuzantilar = explode(",",strtolower($uzantis));
			if(!empty($this->gecerliuzantilar)){
				if(!in_array($this->getiruzanti(),$this->gecerliuzantilar)){
					return false;
				}else{
					return true;
				}
			}else{
				return true;
			}
		}else{
			return false;
		}
	}	
	function Resimvarmi($Resim){
		if(file_exists($Resim)){
			return true;
		}else{
			return false;
		}
	}
	function getirResimtip($Resim){
		if($this->IsResim($Resim)){
			$uzanti = strtolower(substr ($Resim, strrpos ($Resim, ".")));
			switch($uzanti){
				case ".gif":
					$this->Resimtip = ".gif";
				break;
				case ".jpg":
					$this->Resimtip = ".jpg";
				break;
				case ".png":
					$this->Resimtip = ".png";
				break;
				default:
					return false;
				break;
			}
		}
	}
}
$t1=new Resim("test1.jpg");//150x100 5,21 KB
echo '<img src="test1.jpg">';
$t1->ResizeWH(100,100);//100x100 10,2 KB
echo '<img src="test1.jpg">';
$t2=new Resim("test2.jpg");//150x100 5,21 KB
echo '<img src="test2.jpg">';
$t2->Resize($yuzde=80);//120x80 10,3 KB
echo '<img src="test2.jpg">';
?>

Çıktısı


 

Get ve Post Değerlerini Alma Sınıfı

<?php
class getpost{
	public $get = array();
	public $post = array();
	function getpost(){
		if(isset($_GET)){
			$this->get();
		}
		if(isset($_POST)){
			$this->post();
		}		
	}
	function get(){
		$dizi = array_keys($_GET);
		if(count($dizi)!=0){
			for($n=0;$n<count($dizi);$n++){
				$this->get[$dizi[$n]] = $_GET[$dizi[$n]];
			}
		}else{
			$this->get = NULL;
		}
	}
	function post(){
		$dizi = array_keys($_POST);
		if(count($dizi)!=0){
			for($n=0;$n<count($dizi);$n++){
				$this->post[$dizi[$n]] = $_POST[$dizi[$n]];
			}
		}else{
			$this->post = NULL;
		}
	}
}
$a =  new getpost();
if($a->get){
echo "<pre>";
print_r($a->post);
echo "<br>";
print_r($a->get);
}else{
?><form name="form1" method="post" action="?get=1">
<label>
<input type="text" name="post">
</label>
<br>
<input type="text" name="post2">
<br>
<input type="text" name="post3">
<br>
<input type="text" name="post4">
<br>
<input type="text" name="post5">
<br>
<input type="text" name="post6">
<br>
<label>
<input type="submit" name="gonder" value="GÖNDER">
</label>
</form>
<?php } ?>

Çıktısı

Array
(
    [post] => yazı1
    [post2] => yazı2
    [post3] => yazı3
    [post4] => yazı4
    [post5] => yazı5
    [post6] => yazı6
    [gonder] => GÖNDER
)

Array
(
    [get] => 1
)

 

Çeşitli Türlerdeki Kullanıcı Giriş Metinlerini Doğrulamak

<?php
function mb_ctype_alnum($s){
	return preg_match("/^[A-Za-z0-9_öçşğıüÖÇŞİĞÜ.]+$/",$s);
}
class dogrula{
	var $metin_durum=false;
	function tekKelime($giris,$min_size=false){
		$durum = false;
		if($min_size){
			if (mb_strlen($giris) >= $min_size){
				if (mb_ctype_alnum($giris)){
					$durum = true;
				}
			}
		}else{
			if(mb_ctype_alnum($giris) && mb_strlen($giris) > 0) {
				$durum = true;
			}
		}
		return $durum;
	}
	function rakam($giris,$ondalik=false) {
		$durum=false;
		if($ondalik){
			if(preg_match('/,/',$giris)){
				$tmp_giris = explode(',', $giris);
			}else{
				$tmp_giris = explode('.', $giris);
			}
			for ($i=0; $i<count($tmp_giris); $i++) {
				if (ctype_digit($tmp_giris[$i])) {
					$durum = true;
				}
			}
		}else{
			if (ctype_digit($giris)){
				$durum = true;
			}
		}
		return $durum;
	}
	function eposta($giris){
		$durum = false;
		if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/", $giris)) {
			$durum = true;
		}
		return $durum;
	}
	function adres($adres){
		$regexp = "/^(https?:\/\/)?(([0-9a-z_!~*'().&=+$%-]+:)?[0-9a-z_!~*'().&=+$%-]+@)?((([12]?[0-9]{1,2}\.){3}[12]?[0-9]{1,2})|(([0-9a-z_!~*'()-]+\.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.(com|net|org|edu|mil|gov|int|aero|coop|museum|name|info|biz|pro|[a-z]{2})))(:[1-6]?[0-9]{1,4})?((\/?)|(\/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+\/?)$/";
		if (preg_match( $regexp, $adres )){
			if (!preg_match( "/^https?:\/\//", $adres )) $adres = "http://" . $adres;
			if (!preg_match( "/^https?:\/\/.+\//", $adres )) $adres .= "/";
			if ((preg_match( "/\/[0-9a-z~_-]+$/", $adres)) && (!preg_match( "/[\?;&=+\$,#]/", $adres))) $adres .= "/";
			return true;
		}else{
			return false;
		}
	}
	function yazi($giris,$cikti=false,$guvenlik=false){
		$metin = false;
		if ($cikti == true) {
			if (mb_strlen(trim($giris)) > 0) {
				if ($guvenlik) {
					$metin = strip_tags($giris);
					$metin = htmlspecialchars($metin);
				}else{
					if(!get_magic_quotes_gpc()){
						$metin = addslashes($giris);
					}else{
						$metin = $giris;
					}
				}
			}
		}else{
			if(mb_strlen(trim($giris)) > 0){
				$metin = true;
			}
		}
		return $metin;
	}
}
$v=new dogrula;
var_dump($v->tekKelime($giris="MerhabaDü2nya",$min_size=false));
echo "<br>";
var_dump($v->rakam($giris="12.3",$ondalik=true));
echo "<br>";
var_dump($v->rakam($giris="12,3",$ondalik=true));
echo "<br>";
var_dump($v->rakam($giris="12",$ondalik=false));
echo "<br>";
var_dump($v->rakam($giris="12",$ondalik=false));
echo "<br>";
var_dump($v->eposta($giris="ulusanyazilim@gmail.com"));
echo "<br>";
var_dump($v->adres($adres="https://ulusanyazilim.com"));
echo "<br>";
var_dump($v->yazi($giris="<a href=\"\">'Merhaba'</a>",$cikti=false,$guvenlik=false));
echo "<br>";
var_dump($v->yazi($giris="<a href=\"\">'Merhaba'</a>",$cikti=true,$guvenlik=true));
echo "<br>";
var_dump($v->yazi($giris="<a href=\"\">'Merhaba'</a>",$cikti=true,$guvenlik=false));
?>

Çıktısı

bool(true) 
bool(true) 
bool(true) 
bool(true) 
bool(true) 
bool(true) 
bool(true) 
bool(true) 
string(9) "'Merhaba'" 
string(28) "\'Merhaba\'"

 

Vergi Numarası Doğrulama Sınıfı

<?php
class vergino{
	static function dogrula($no) {
		$no = trim($no);
		$topla = 0;
		$sakla = 0;
		if (strlen($no) != 10)
			return false;
		for($i = 0; $i < strlen($no) - 1; $i++) {
			if(!is_numeric($no[$i]))
				return false;
			$sakla = ($no[$i] + 10 - ( $i + 1 ) ) % 10;
			$topla = ($sakla == 9 ? $topla + $sakla : $topla + (($sakla * (pow(2, 10 - ( $i + 1 ))) ) % 9));	
		}
		if ($no[strlen($no) -1] == (10 - ($topla % 10)) % 10)
			return true;	
		return false;
	}
}
var_dump(vergino::dogrula(9561019891));
?>

Çıktısı

bool(true)

 

Küçük Resim Önizlemesi Thumbnail Oluşturma Sınıfı

<?php
class kucukResim{
	var $uzanti;
	var $dosya;
	var $cikti;
	function olustur($enCokGenislik, $enCokYukselik){
		$boyut = GetImageSize($this->dosya);
		$genislik = $boyut[0];
		$yukseklik = $boyut[1];
		$x_oran = $enCokGenislik / $genislik;
		$y_oran = $enCokYukselik / $yukseklik;
		if(($genislik <= $enCokGenislik) && ($yukseklik <= $enCokYukselik)){
			$tn_genislik = $genislik;
			$tn_yukseklik = $yukseklik;
		}elseif(($x_oran * $yukseklik) < $enCokYukselik){
			$tn_yukseklik = ceil($x_oran * $yukseklik);
			$tn_genislik = $enCokGenislik;
		}else{
			$tn_genislik = ceil($y_oran * $genislik);
			$tn_yukseklik = $enCokYukselik;
		}
		if ($this->uzanti == "jpg"){
			$dosya = ImageCreateFromJpeg($this->dosya);
			$cikti = ImageCreateTrueColor($tn_genislik, $tn_yukseklik);
			ImageCopyResized($cikti, $dosya, 0, 0, 0, 0, $tn_genislik, $tn_yukseklik, $genislik, $yukseklik);
			ImageJpeg($cikti, $this->cikti);
		}else{
			$dosya = ImageCreateFromGif($dosya);
			$cikti = ImageCreateTrueColor($tn_genislik, $tn_yukseklik);
			ImageCopyResized($cikti, $dosya, 0, 0, 0, 0, $tn_genislik, $tn_yukseklik, $genislik, $yukseklik);
			ImageGif($cikti, $this->cikti);
		}
		return true;
	}
}
if(isset($_FILES['dosya'])){
	$tum = new kucukResim;
	$kap = explode(".", $_FILES['dosya']['name']);
	$tum->uzanti = $kap[1];
	$tum->dosya = $_FILES['dosya']['tmp_name'];
	$tum->cikti = $kap[0]."_thumb.".$kap[1];
	if($tum->olustur(100,100)){
		echo '<img src="'.$_FILES['dosya']['name'].'">';
		echo '<img src="'.$tum->cikti.'">';
	}else{
		die("Hata");
	}
}else{
	echo '<form action="" method="post" enctype="multipart/form-data">
  <input type="file" name="dosya">
  <input type="submit" value="Yükle" accept="image/jpeg|image/gif">
	</form>'; 
} 
?>

Çıktısı

test.jpg – 150×100 – 5,21 KB
test_thumb.jpg – 100×67 – 2,87 KB

Düzenli İfade İle Veri Girişi Doğrulama Kontrol Sınıfı

<?php
class duzenliIfadeKontrol {
	public static function epostaKontrol($metin){
		return self::kontrol($metin,"/^[^@]*@[^@]*\.[^@]*$/");
	}
	public static function ipKontrol($metin){
		return self::kontrol($metin,"/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/");
	}
	public static function hexRenkKontrol($metin){
		return self::kontrol($metin,"/^#[a-fA-F0-9]{6}$/");
	}
	public static function hexNoKontrol($metin){
		return self::kontrol($metin,"/^[a-fA-F0-9]{6}$/");
	}	
	public static function rakamKontrol($metin){
		return self::kontrol($metin,"/^[-+]?\b[0-9]+(\.[0-9]+)?$/");
	}
	public static function sayiKontrol($metin){
		return self::kontrol($metin,"/^[-+]?\b[0-9]*\.?[0-9]+$/");
	}
	public static function kullaniciKontrol($metin){
		return self::kontrol($metin,"/^[a-z\d_]{4,28}$/i");
	}
	private static function kontrol($metin,$kural){
		if (preg_match($kural,$metin))
			return true;
		return false;
	}
}
echo "E-POSTA: ".duzenliIfadeKontrol::epostaKontrol("jordigirones@gmail.com")."<br>";
echo "IP: ".duzenliIfadeKontrol::ipKontrol("192.168.12.31")."<br>";
echo "HEX RENK: ".duzenliIfadeKontrol::hexRenkKontrol("#336AA9")."<br>";
echo "HEX NO: ".duzenliIfadeKontrol::hexNoKontrol("336AA9")."<br>";
echo "RAKAM: ".duzenliIfadeKontrol::rakamKontrol("12345")."<br>";
echo "SAYI: ".duzenliIfadeKontrol::sayiKontrol("12345.6789")."<br>";
echo "KULLANICI: ".duzenliIfadeKontrol::kullaniciKontrol("jgirones");
?>

Çıktısı

E-POSTA: 1
IP: 1
HEX RENK: 1
HEX NO: 1
RAKAM: 1
SAYI: 1
KULLANICI: 1

 

Google Translate Dil Çeviri Sınıfı

<?php
class google{
	static function translate($metin, $bundan, $buna) {
		$f = file("http://translate.google.com/translate_t?text=" . urlencode($metin) . "&langpair=$bundan|$buna");
		$i=implode(" ",$f);
		preg_match("/TRANSLATED_TEXT='(.*?)';var ctr/si",$i,$sonuc);
		echo $sonuc[1];
	}
}
google::translate('Do you speak english?', 'en', 'tr');
?>

Çıktısı

İngilizce konuşabiliyor musun?