Web Sayfası Yüklenme Zamanını Bulma

<?php
class zamanlayici{
	var $baslat;
	var $durdur;
	var $zaman;
	function zamanlayici($baslat = true){
		if($baslat){
			$this->baslat();
		}
	}
	function baslat(){
		$this->baslat = $this->simdi();
		$this->durdur = null;
		$this->zaman = null;
	}
	function stop(){
		$this->durdur = $this->simdi();
		$this->zaman = ($this->durdur - $this->baslat);
		return $this->zaman;
	}
	function zaman_getir(){
		return $this->zaman;
	}
	function simdi(){
	   list($milisaniye, $saniye) = explode(" ", microtime());
	   return ((float)$milisaniye + (float)$saniye);
	}
}
$zamanlayici = new zamanlayici();
$contents = file_get_contents("http://www.ulusanyazilim.com");
$zaman = $zamanlayici->stop();
echo "İçerikler {$zaman} saniyede alındı.";
?>

Çıktısı

İçerikler 1.3313419818878 saniyede alındı.

 

Değişik Stillerde Türkçe Tarih Gösterimi

<?php
class tarih_tr{
	function gun_tr($gun){
		switch($gun){
			case 0 : $gun = "Pazar";
				break;
			case 1 : $gun = "Pazartesi";
				break;
			case 2 : $gun = "Salı";
				break;
			case 3 : $gun = "Çarşamba";
				break;
			case 4 : $gun = "Perşembe";
				break;
			case 5 : $gun = "Cuma";
				break;
			case 6 : $gun = "Cumartesi";
				break;
		}
		return $gun;
	}
	function ay_tr($ay){
			switch($ay){
				case 1 : $ay = "Ocak";
					break;
				case 2 : $ay = "Şubat";
					break;
				case 3 : $ay = "Mart";
					break;
				case 4 : $ay = "Nisan";
					break;
				case 5 : $ay = "Mayıs";
					break;
				case 6 : $ay = "Haziran";
					break;
				case 7 : $ay = "Temmuz";
					break;
				case 8 : $ay = "Ağustos";
					break;
				case 9 : $ay = "Eylül";
					break;
				case 10 : $ay = "Ekim";
					break;
				case 11 : $ay = "Kasım";
					break;
				case 12 : $ay = "Aralık";
					break;
			}
		return $ay;
	}
	function hazirla($stil){
		if(empty($stil) or $stil>4 or $stil<1){
			$stil = 4;
		}
		if($stil==1){
			$veri = date("d")."/".date("m")."/".date("y");
		}elseif($stil==2){
			$veri = date("d")."/".date("m")."/".date("Y");
		}elseif($stil==3){
			$veri = date("d")."/".date("m")."/".date("Y")." ".$this->gun_tr(date("w"));
		}elseif($stil==4){
			$veri = date("d")." ".$this->ay_tr(date("n"))." ".date("Y")." ".$this->gun_tr(date("w"));
		}
	return $veri;
	}
}
$dt = new tarih_tr;
echo $dt->hazirla(1);
echo "<br>";
echo $dt->hazirla(2);
echo "<br>";
echo $dt->hazirla(3);
echo "<br>";
echo $dt->hazirla(4);
?>

Çıktısı

30/05/18
30/05/2018
30/05/2018 Çarşamba
30 Mayıs 2018 Çarşamba

 

Web Site Adresine Erişim Kontrol Sınıfı

<?php
class adresTest{
	var $vektor = array();
	function __construct($time){
		set_time_limit($time);
	}
	function ekle($adres){
		$this->vektor[] = $adres;
	}
	function listele(){
		$list = $this->vektor;
		for($i = 0; $i < count($list);$i++){
			$this->test($list[$i]);
		}
	}
	function test($adres) {
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $adres);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		if(parse_url($adres, PHP_URL_SCHEME) == "https"){
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		}
		$cikti = curl_exec($ch);
		$bilgi = curl_getinfo($ch, CURLINFO_HTTP_CODE);
		$hatalar = array("0","400", "401", "402", "403", "404", "405", "406", "407", "408", "409", "410", "411", "412", "413", "414", "415", "500", "501", "502", "503", "504", "505");
		if(in_array($bilgi, $hatalar)) {
			echo "<a href=\"".$adres."\" target=\"_blank\">".$adres."</a> <b>($bilgi) Sayfaya Erişilemiyor!</b><br />";
		}else{
			echo "<a href=\"".$adres."\" target=\"_blank\">".$adres."</a> <b>($bilgi) Geçerli Sayfa.</b><br />";
		}
		curl_close($ch);
	}
}
$test = new adresTest(0);
$test->ekle('http://www.google.com.tr');
$test->ekle('https://www.ulusanyazilim.com/feed');
$test->listele();
?>

Çıktısı

http://www.google.com.tr (200) Geçerli Sayfa.
https://www.ulusanyazilim.com/feed (301) Geçerli Sayfa.

 

Klasör Oluşturarak Dosya Yazma Sınıfı

<?php
class dosyaYazici{
	var $yenimaske= 0;
	var $klasorizin= 0777;
	var $dosyaizin= 0777;
	var $kullanici= "nobody";
	public $hata=null;
	function yeniKlasor($yol,$klasorname){
		if(!file_exists(getcwd().$yol.$klasorname)){
			$oldumask = @umask($this->yenimaske); 
			$b 		  = @mkdir(getcwd().$yol.$klasorname, $this->klasorizin);
						@umask($oldumask);
			if($b==TRUE){
				return TRUE;
			} else {
				$this->hata.="Klasör Oluşturulamadı";
				return FALSE;
			}
		} else return TRUE;
	}
	function yaz($dosya,$icerik){
		if(!empty($dosya) && !empty($icerik)){
			$fp = fopen($dosya,"w");
			$b = fwrite($fp,$icerik);
			fclose($fp);
			@chmod($dosya,$this->dosyaizin);
			@chown($dosya,$this->kullanici);
			if($b != -1){
				return TRUE;
			} else {
				$this->hata.="Dosya Yazılamadı";
				return FALSE;
			}
		} else {
			$this->hata.="Dosya veya İçerik Bulunamadı";
			return FALSE;
		}
	}
	function oku($dosya){
		if(!empty($dosya)){
			$dt = fopen($dosya, "rb");
			$icerik = fread($dt, filesize($dosya));
			fclose($dt);
			echo $icerik;
		} else {
			$this->hata.="Dosya Bulunamadı";
			return FALSE;
		}
	}
}
$fw = new dosyaYazici;
$fw->yeniKlasor("/","klasor");
$fw->yaz(getcwd()."/klasor/file.txt","bubirdenemedir");
$fw->oku(getcwd()."/klasor/file.txt");
echo $fw->hata;
?>

Çıktısı

bubirdenemedir

 

Post, Get, Request ve Cookie Değerleri Temizleme Sınıfı

<?php
class temizle {
	function temizle() {
		$this->temizleCookie();
		$this->temizleGet();
		$this->temizleRequest();
		$this->temizlePost();
	}
	function temizlePost() {
		foreach($_POST as $anahtar=>$deger) {
			$_POST[$anahtar] = addslashes($deger);
		}
	}
	function temizleGet() {
		foreach($_GET as $anahtar=>$deger) {
			$_GET[$anahtar] = addslashes($deger);
		}
	}
	function temizleRequest() {
		foreach($_REQUEST as $anahtar=>$deger) {
			$_REQUEST[$anahtar] = addslashes($deger);
		}
	}
	function temizleCookie() {
		foreach($_COOKIE as $anahtar=>$deger) {
			$_COOKIE[$anahtar] = addslashes($deger);
		}
	}
}
$_POST = array('isim'=>"Ahmet'in", 'deger'=>"Kalem'i");
$_GET = array('id'=>"nerde'");
$_REQUEST = array('deger'=>'test"');
$_COOKIE = array('sifre'=>"'osman'in_sifresi");
echo '<fieldset><legend>Eski Hali</legend>';
echo 'POST: ';
print_r($_POST);
echo '<br>GET: ';
print_r($_GET);
echo '<br>REQUEST: ';
print_r($_REQUEST);
echo '<br>COOKIE: ';
print_r($_COOKIE);
echo '</fieldset>';
$temizle =new temizle();
echo '<fieldset><legend>Yeni Hali</legend>';
echo 'POST: ';
print_r($_POST);
echo '<br>GET: ';
print_r($_GET);
echo '<br>REQUEST: ';
print_r($_REQUEST);
echo '<br>COOKIE: ';
print_r($_COOKIE);
echo '</fieldset>';
?>

Çıktısı

---Eski Hali---
POST: Array ( [isim] => Ahmet'in [deger] => Kalem'i ) 
GET: Array ( [id] => nerde' ) 
REQUEST: Array ( [deger] => test" ) 
COOKIE: Array ( [sifre] => 'osman'in_sifresi )
---Yeni Hali---
POST: Array ( [isim] => Ahmet\'in [deger] => Kalem\'i ) 
GET: Array ( [id] => nerde\' ) 
REQUEST: Array ( [deger] => test\" ) 
COOKIE: Array ( [sifre] => \'osman\'in_sifresi )

 

Is_callable Kullanımı

Bir değişkenin içeriğinin bir işlev olarak çağrılabilirliğini sınar

Yöntem 1

<?php
function test(){}
$fonksiyon = 'test';
var_dump(is_callable($fonksiyon, false, $isim));
echo $isim;
?>

Çıktısı

bool(true) test

Yöntem 2

<?php
class nesne {
  function test(){}
}
$nesne = new nesne();
$fonksiyon = array($nesne, 'test');
var_dump(is_callable($fonksiyon, true, $isim));
echo $isim;  
?>

Çıktısı

bool(true) nesne::test

 

Warning: get_class() called without object from outside a class in Hatası Çözüm

Hata Örneği

<?php
class sinif{
	public static function OrnekAl(){
		return null;
	}
}
class test extends sinif{}
echo get_class(test::OrnekAl());
?>

get_class ile bir sınıf ismi döndürmek istedik. Fakat dönen test::OrnekAl() sonucu bir fonksiyon içindeki null‘dü. Düzeltmek için aşağıdaki yöntemler kullanılabilir.

1.Ana ismi almak için fonksiyon sonucunu static sınıfa çevirmek

<?php
class sinif{
	public static function OrnekAl(){
		return new static;
	}
}
class test extends sinif{}
echo get_class(test::OrnekAl());
?>

2.Ana ismi almak için fonksiyon ismini kaldırmak

<?php
class sinif{
	public static function OrnekAl(){
		return null;
	}
}
class test extends sinif{}
echo get_class(new test);
?>

3.Alt ismi almak için sınıfı döndürmek

<?php
class sinif{
	public static function OrnekAl(){
		return new sinif;
	}
}
class test extends sinif{}
echo get_class(test::OrnekAl());
?>

4.Alt ismi almak için direk sınıfı çağırmak

<?php
class sinif{
	public static function OrnekAl(){
		return null;
	}
}
class test extends sinif{}
echo get_class(new sinif);
?>

 

Preg_replace Kullanımı ile Sözcük veya Kelime Yer Değiştirme

<?php 
$metin="Ben sana mecburum bilemezsin <br>
Adını mıh gibi aklımda tutuyorum <br>
Büyüdükçe büyüyor gözlerin <br>
Ben sana mecburum bilemezsin <br>
İçimi seninle ısıtıyorum. ";
$metin=preg_replace("/yor\w+/i","yorsun",$metin);//yor... geçen gelimeler 
$metin=preg_replace("/bil\w+/i","sevdiğim",$metin);//bil.... geçen kelimeler 
echo $metin;

\w+ : Boşluk hariç numara ve harfler [a-zA-Z0-9_] içeren düzenli ifade kuralı

Çıktısı

Ben sana mecburum sevdiğim 
Adını mıh gibi aklımda tutuyorsun 
Büyüdükçe büyüyor gözlerin 
Ben sana mecburum sevdiğim 
İçimi seninle ısıtıyorsun.

Şiir : Atilla İlhan