Artık Yıl Kontrol Sınıfı

<?php
class artikYilKontrol{
	var $yil;
	var $deger;
	function artikYilmi(){
		if(($this->yil % 400) == 0){	
			$this->deger=true;
			return $this;
		}else if(($this->yil % 100) == 0){
			$this->deger=false;
			return $this;
		}else if(($this->yil % 4) == 0){
			$this->deger=true;
			return $this;
		}else{
			$this->deger=false;
			return $this;
		}
	}
	function yazdir(){
		header('Content-Type: text/html; charset=utf-8');
		if($this->deger == true){
			echo "Artık Yıl<br>";
		}else{
			echo "Artık Yıl Değil<br>";
		}
	}
}
$a = new artikYilKontrol();
$a->yil=1999;
$a->artikYilmi()->yazdir();
$a->yil=2000;
$a->artikYilmi()->yazdir();
?>

Çıktısı

Artık Yıl Değil
Artık Yıl

 

Metin Dizelerini İşlemek

<?php
class Metin{
	var $harflerE	= array("-"," ","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ğ","ñ","ò","ó","ô","õ","ö","ù","ú","û","ü","ı","ÿ","a","a","a","c","c","c","c","d","d","e","e","e","e","e","g","g","g","g","h","h","i","i","i","i","i","j","k","?","n","n","n","?","o","o","o","r","r","r","s","s","s","š","t","t","t","u","u","u","u","u","u","w","y","z","z","ž");
	var $harflerC	= array("_","_","a","a","a","a","a","a","a","c","e","e","e","e","i","i","i","i","o","n","o","o","o","o","o","u","u","u","u","y","y","a","a","a","c","c","c","c","d","d","e","e","e","e","e","g","g","g","g","h","h","i","i","i","i","i","j","k","k","n","n","n","n","o","o","o","r","r","r","s","s","s","s","t","t","t","u","u","u","u","u","u","w","y","z","z","z");		
	var $cumle		= "";
	var $islem	= "";
	function ozelCekim() {
		$this->islemAyarla(str_replace($this->harflerEal(), $this->harflerCal(), $this->cumleAl()));
	}
	function kisaMetin($metin, $boyut){
		header('Content-Type: text/html; charset=utf-8');
		mb_internal_encoding('UTF-8');
		if(strlen($metin) > $boyut){
			return mb_substr($metin, 0, $boyut)."...";
		}else{
			return $metin;
		}
	}
	function cumleAl(){return $this->cumle;}
	function cumleAyarla($cumle){$this->cumle = $cumle;}
	function islemAl(){return $this->cumle;}
	function islemAyarla($cumle){$this->cumle = $cumle;}
	function harflerEal(){return $this->harflerE;}
	function harflerEayarla($harflerE){$this->harflerE = $harflerE;}
	function harflerCal(){return $this->harflerC;}
	function harflerCayarla($harflerC){$this->harflerC = $harflerC;}
}
$metin=new Metin;
echo $metin->kisaMetin("Merhaba Dünya",10)."<br>";
$metin->cumleAyarla("Merhaba Dünya");
$metin->ozelCekim();
echo $metin->islemAl();
?>

Çıktısı

Merhaba Dü...
Merhaba_Dunya

 

Xml Ayrıştırmak ve İşlemek

test.xml

<?xml version="1.0" encoding="UTF-8"?>
<rss></rss>

index.php

<?php
Class kitaplar extends domDocument {
	function __construct() {
		parent::__construct();
	}
	function kitapekle($baslik, $yazar) {
		$baslikmetni = $this->createElement("baslik");
		$baslikmetni->appendChild($this->createTextNode($baslik));
		$yazarmetni = $this->createElement("yazar");
		$yazarmetni->appendChild($this->createTextNode($yazar));
		$kitapmetni = $this->createElement("kitap");
		$kitapmetni->appendChild($baslikmetni);
		$kitapmetni->appendChild($yazarmetni);
		$this->documentElement->appendChild($kitapmetni);
	}
} 
header("Content-type: text/xml");
$dom = new kitaplar();
  $dom->load("test.xml");
  $dom->kitapekle("PHP 7", "Ulusanyazilim");
  print $dom->saveXML();
?>

Çıktısı

<?xml version="1.0" encoding="UTF-8"?>
<rss>
	<kitap>
		<baslik>
			PHP 7
		</baslik>
		<yazar>
			Ulusanyazilim
		</yazar>
	</kitap>
</rss>

test.php

<?php
Class kitaplar extends domDocument {
	function __construct() {
		parent::__construct();
	}
	function kitapekle($baslik, $yazar) {
		$baslikmetni = $this->createElement("baslik");
		$baslikmetni->appendChild($this->createTextNode($baslik));
		$yazarmetni = $this->createElement("yazar");
		$yazarmetni->appendChild($this->createTextNode($yazar));
		$kitapmetni = $this->createElement("kitap");
		$kitapmetni->appendChild($baslikmetni);
		$kitapmetni->appendChild($yazarmetni);
		$this->documentElement->appendChild($kitapmetni);
	}
} 
$dom = new DomDocument;
$dom->load("test.xml");
print "<pre>";
print $dom->documentElement->nodeName;
print "<br/>\n";
print_r($dom->getElementsByTagName("test"));         
print "<br/>\n";
print htmlentities($dom->saveXML());
?>

Çıktısı

rss

DOMNodeList Object
(
    [length] => 0
)


<?xml version="1.0" encoding="UTF-8"?>
<rss>
	<kitap>
		<baslik>
			PHP 7
		</baslik>
		<yazar>
			Ulusanyazilim
		</yazar>
	</kitap>
</rss>

 

İkon Oluşturma Sınıfı

<?php
class simge {
	var $resim;
	function simge() {
		header("content-type: image/gif");
	}
	function boyut($x, $y) {
		$this->resim = imagecreate($x, $y);
		imagecolorallocate($this->resim, 255, 255, 255);
	}
	function ciz($parametreler) {
		for($i = 0; $i < count($parametreler); $i++) {
			$x = $parametreler[$i]["x"];
			$y = $parametreler[$i]["y"];
			$renk = $parametreler[$i]["renk"];
			$alfa = $parametreler[$i]["alfa"];
			imageline($this->resim, $x, $y, $x, $y, $this->renk($renk, $alfa)); 
		}
	}
	function cikti() {
		imagegif($this->resim);
		imagedestroy($this->resim);
	
	}
	function renk($renk, $alfa) {
		$rrenkler = array();
		$renk = str_replace("#", "", $renk);
		for($i = 0; $i < 6; $i++) {
			$rrenkler[] = intval($renk[$i], 16);
		}
		$renksec = array(
			"R" => $rrenkler[0] * $rrenkler[1], 
			"G" => $rrenkler[2] * $rrenkler[3], 
			"B" => $rrenkler[4] * $rrenkler[5]
		);
		$alfaseviye = ($alfa) ? 127 : 0;
		return imagecolorallocatealpha($this->resim, $renksec["R"], $renksec["G"], $renksec["B"], $alfaseviye);
	}
}
$gi = new simge();
$gi->boyut(15, 15);
$parametreler=[];
for($x=0;$x<15;$x++){
	$parametreler[] =array("x" => 1, "y" => $x, "renk" => "FF0000", "alfa" => false);
	$parametreler[] =array("x" => 2, "y" => $x, "renk" => "FF0000", "alfa" => false);
	if($x > 9){
		$parametreler[] =array("x" => 3, "y" => $x, "renk" => "FF0000", "alfa" => false);	
		$parametreler[] =array("x" => 4, "y" => $x, "renk" => "FF0000", "alfa" => false);	
	}
	$parametreler[] =array("x" => 5, "y" => $x, "renk" => "FF0000", "alfa" => false);
	$parametreler[] =array("x" => 6, "y" => $x, "renk" => "FF0000", "alfa" => false);
	if($x < 10){
		$parametreler[] =array("x" => 8, "y" => $x, "renk" => "FF0000", "alfa" => false);	
		$parametreler[] =array("x" => 9, "y" => $x, "renk" => "FF0000", "alfa" => false);	
	}	
	if($x > 4){
		$parametreler[] =array("x" => 10, "y" => $x, "renk" => "FF0000", "alfa" => false);	
		$parametreler[] =array("x" => 11, "y" => $x, "renk" => "FF0000", "alfa" => false);	
	}
	if($x < 10){
		$parametreler[] =array("x" => 12, "y" => $x, "renk" => "FF0000", "alfa" => false);	
		$parametreler[] =array("x" => 13, "y" => $x, "renk" => "FF0000", "alfa" => false);	
	}	
}
$gi->ciz($parametreler);
$gi->cikti();
?>

Çıktısı

Metin Değiştirmeye Dayalı Basit Şablon Motoru

<?php
header('Content-Type: text/html; charset=utf-8');
class tema{
var $dosya;
var $yeni;
var $eski;
	function kontrol($dosyaadi){
		if(Is_File($dosyaadi)){
			$this->dosya = $dosyaadi;
			return TRUE;
		}else{
			return false;
		}
	}
	function ekle($icerik, $degisken){
		$this->yeni[] = $icerik;
		$this->eski[] = $degisken;
	}
	function goster(){
		$yayin = @trim(implode(" ", file($this->dosya)));
		$yayin = @str_replace($this->eski, $this->yeni, $yayin);
		print $yayin;
	}
}
$gecici = new tema;
if($gecici->kontrol("tema.tpl")){
	$gecici->ekle("Merhaba Dünya", ".baslik.");
	$gecici->ekle("se", ".t.");
	$gecici->ekle("<b>", ".b.");
	$gecici->ekle("</b>", ".b2.");
	$gecici->goster();
}else{
	die("Tema Yüklenemiyor");
}
?>

tema.tpl

<html>
.baslik.
.b..t.ni .t.veni .t.nde .t.v.b2.
</html>

Çıktısı

<html>
 Merhaba Dünya
 <b>seni seveni sende sev</b>
 </html>

 

Tarih ve Saat Dönüştürme Sınıfı

<?php
date_default_timezone_set('Europe/Istanbul');
class TarihYonet {
	public $girilen;
	public $damga;
	public $tarih;
	public $zaman;#YYYY-MM-DD HH:MM:SS
	function __construct($girilen) {
		$this->girilen = trim($girilen);
		if (preg_match("/^\d{4}-\d{2}-\d{2}$/", $this->girilen)) { 
			$tarihDizi = explode('-', $this->girilen);
			$this->tarih			= $this->girilen;
			$this->damga 	= mktime(0, 1, 1, $tarihDizi[1], $tarihDizi[2], $tarihDizi[0]);
			$this->zaman 	= date('Y-m-d H:i:s', $this->damga);
		} else if (preg_match("/^\d{4}-\d{2}-\d{2} [0-2][0-3]:[0-5][0-9]:[0-5][0-9]$/", $this->girilen)) { 
			$parcala			= explode(' ', $this->girilen);
			$tarihDizi 			= explode('-', $parcala[0]);
			$this->zaman		= $this->girilen;
			$this->damga 	= mktime(0, 1, 1, $tarihDizi[1], $tarihDizi[2], $tarihDizi[0]);
			$this->tarih 		= date('Y-m-d', $this->damga);
		} else { 
			$this->damga 	= $this->girilen;
			$this->tarih 		= date('Y-m-d', $this->girilen);
			$this->zaman 	= date('Y-m-d H:i:s', $this->girilen);
		}
	}
}
	$ornek 	= new TarihYonet(time());
	print_r($ornek);

?>

Çıktısı

TarihYonet Object
(
    [girilen] => 1526461072
    [damga] => 1526461072
    [tarih] => 2018-05-16
    [zaman] => 2018-05-16 11:57:52
)

 

E-posta Maskeleme ve Yönlendirme

<?php
class Maskele{
	var $Eposta = "";
	var $DegisenEposta = "";
	function Maskele($eposta){
		$this->Eposta = $eposta;
	}
	function epostaMaskele(){
		$yeniEposta = $this->Eposta;
		$yeniEposta = str_replace("@"," at ",$yeniEposta);
		$yeniEposta = str_replace("."," dot ",$yeniEposta);
		$this->DegisenEposta = $yeniEposta;
	}
	function epostaCoz(){
		$yeniEposta = $this->Eposta;
		$yeniEposta = str_replace(" at ","@",$yeniEposta);
		$yeniEposta = str_replace(" dot ",".",$yeniEposta);
		$this->DegisenEposta = $yeniEposta;
	}
	function yazdir(){
		echo '<a href="mailto:'.$this->Eposta.'">'.$this->DegisenEposta.'</a>';
	}
	function yonlendir(){
		echo "<script>";
			echo "location = 'mailto:" . $this->DegisenEposta . "';";
		echo "</script>";
	}
	
}
?>

Test 1

<?php 
$e=new Maskele("ulusanyazilim@gmail.com");
$e->epostaMaskele();
$e->yazdir();
?>

Çıktısı

<a href="mailto:ulusanyazilim@gmail.com">ulusanyazilim at gmail dot com</a>

Test 2

<?php 
echo '<a href="?mail=ulusanyazilim at gmail dot com">Bu Adrese E-Posta Gönder</a>';
$e=new Maskele($_GET["mail"]);
$e->epostaCoz();
$e->yonlendir();
?>

Çıktısı

<script>location = 'mailto:ulusanyazilim@gmail.com';</script>

 

 

Not Defterinden Rastgele Kelime Çekmek

<?php
class rastgeleKelime {
    var $dosya;
    function rastgeleKelime($dosya)
    {
        $this->dosya = $dosya;
    } 
    function kelimeGoster()
    {
        $oku = file($this->dosya);
        $o = shuffle($oku);
        echo $oku[$o];
    } 
} 
$r = new rastgeleKelime("kelimeler.txt");
$r->kelimeGoster();
?>

kelimeler.txt

Kalem
Sıra
Masa
Dolap
Pencere
Silgi

Çıktısı

Dolap

 

Sayfa Yüklenme Süresi

<?php
class sayfaYuklemeSuresi{
	var $baslat;
	var $bitir;
	function sayfaYuklemeSuresi(){
		$this->baslat();
	}
	function baslat(){
		$this->baslat = $this->zamanAl();
	}
	function bitir(){
		$this->bitir = $this->zamanAl();
	}
	function yuklemeAl($format = '%01.2f'){
		if(empty($this->bitir))$this->bitir();
		return sprintf($format,($this->bitir - $this->baslat));
	}
	function zamanAl(){
		$zaman = microtime();
		$zaman = explode(' ', $zaman);
		return $zaman[1] + $zaman[0]; 
	}
}
$yukle = new sayfaYuklemeSuresi;
for($i=0;$i<1000000;$i++)
	$a = $i * ($i/2);
echo $yukle->yuklemeAl();
?>

Çıktısı

0.35

 

Dosya ve Klasörleri Listeleme

<?php
class dizin{
    function tara($dizin){
    $veriler = array();
    $yol = $dizin."/";
			if ($topla = @opendir($dizin)) {
				while (false !== ($dosya = readdir($topla))) { 
					if (true == is_dir($yol.$dosya)&&$dosya !== "." && $dosya !== ".."){
						$veriler = array_merge($veriler, $this->tara($yol.$dosya));
					}
					elseif (false == is_dir($yol.$dosya)){
						$veriler[] = $yol.$dosya;   
					}
				}
			}else{
				echo "Dizin okunamıyor - ".$dizin;
			}
			closedir($topla);  
    return $veriler;   
    }
}
$obj = new dizin;
echo "<pre>";
//$obj->tara("."); geçerli dizin için
//$obj->tara("ç.") ana dizin için
print_r($obj->tara("."));
echo "<pre>";
?>

Çıktısı

Array
(
 [0] => ./index.php
 [1] => ./test.php
)