Önbellekleme

Her seferinde aynı içeriğe sahip olan sayfalarınızı önbellekleyerek hem veritabanınıza olan bağlantıları azaltır, hemde sayfaları daha hızlı yüklersiniz.

Cache çalışma mantığı php sayfalarınızı html olarak saklayıp, sonraki seferde html olarak görüntülemesidir.

<?php
header('Content-Type: text/html; charset=utf-8');
class onbellek{//PHPSTATE ÖNBELLEK SINIFI
	public $zamanasimi=300;
	var $sorgu;
	var $dosya;
	var $soket;
	var $baslangic;
	var $bitis;
	function mikrosure(){
		list($usure, $sure) = explode(" ",microtime()); 
		return ((float)$usure + (float)$sure);
	}
	function kontrol(){
		$this->baslangic=0;
		$this->bitis=0;
		$this->baslangic=$this->mikrosure();
		if ($this->sorgu == ''){$this->soket = 1;return 1;}
		$this->dosya = $this->sorgu.'.onbellek'; 
		 if ((time()-@filemtime($this->dosya)) > $this->zamanasimi) { 
			 $this->soket = true;
			 return true;  
		 }else {      
			 $this->soket = false;         
			 return false;  
		 }
	 }
	function baslat(){
		if ($this->soket) {@ob_start();}       
	}
	function bitir(){
		if ($this->soket){
			$icerik = @ob_get_contents();
			@ob_end_clean();
			if ($f = @fopen($this->dosya, "wb")){
				@fwrite($f, $icerik);
				@fclose($f);
			}
			echo $icerik;
		}
	}
	function icerik(){
		@readfile($this->dosya);
	} 
	function bosalt(){
		@unlink($this->sorgu.'.onbellek');
		return $this->sorgu.'.onbellek';
	}
	function zaman(){
		$this->bitis=$this->mikrosure();
		if(($this->bitis - $this->baslangic) < 1){
			return (($this->bitis - $this->baslangic)*1000)." milisaniye";
		}else{
			return ($this->bitis - $this->baslangic)." saniye";
		}
	}
}


////////////////ÖRNEK////////////////////////

$onbellek = new onbellek();
$onbellek->sorgu = '100000 test';//onbellek dosya adı 

if(isset($_GET["temizle"])){//TEMİZLEME SORGUSU
	die($onbellek->bosalt().' Temizlendi <a href="?" >Normali Göster</a>');
}else{//SAYFA GÖSTERİMİ BAŞLATILIYOR
	
	if ($onbellek->kontrol()){
		echo "Önbellek Yok"."<br>";
		$onbellek->baslat();
?>
		
<?php 
//PHP SAYFA KODLARIMIZIN BAŞLANGICI/////////////////////////////////////////////////
		for ($i=1; $i<100000; $i++) {
			echo $i.'-';
		}
//PHP SAYFA KODLARIMIZIN BİTİŞİ///////////////////////////////////////////////// 
?>
		
<?php
		$onbellek->bitir();
	}else{
		echo "Önbellek Var"."<br>";
		$onbellek->icerik();
	} 
	echo '<hr /><br />'.$onbellek->sorgu.' Oluşturulma '.$onbellek->zaman().' <a href="?">Yenile</a> ya da <a href="?temizle=ok">Temizle</a>';
}
?>

 

Youtube Mp4 Downloader

Aşadaki uygulamada videolarınızı desteklediği kadarıyla maximum 720p çözünürlükte mp4 olarak indirebilirsiniz.

<?php

function youtube_mp4_downloader($ytid){
	//07.02.2015 00:40 || phpstate.ulusanyazilim.com || ulusanyazilim@gmail.com
	$yturl = 'http://www.youtube.com/get_video_info?&video_id='.$ytid.'&asv=3&el=detailpage&hl=tr_TR';
	$ch = curl_init();
	curl_setopt($ch,CURLOPT_URL,$yturl);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
	curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,30);
	parse_str(curl_exec($ch));
	curl_close($ch);
	foreach(explode(',',$url_encoded_fmt_stream_map) as $format) {
		if($itag == 22){$itag=22;}elseif($itag == 18){$itag=18;}else{$itag="";}
		parse_str($format);
		$url= urldecode($url) . '&signature=' . $sig;
		if($itag == 22 or $itag == 18){break;}
	}
	
	return $url.'&title='.preg_replace('/[^a-üöçşığz A-ÜÖÇŞİĞZ 0-9\-]/','',str_replace(' ','-',$title));
}



//Örnek Kullanım
//https://www.youtube.com/watch?v=Q_wWkc3O4ug için
//ob_start();
//header("Location: ".youtube_mp4_downloader("Q_wWkc3O4ug"));
ob_start();
header("Location: ".youtube_mp4_downloader($_GET["id"]));
?>

 

Gelişmiş İçerik Resmi

<?php 
function onizleme($makale,$maxGenislik,$maxYukseklik){
	$makale=htmlspecialchars_decode($makale);
	preg_match_all('/<img.+src="([^"]*)".*>/', $makale, $sonuc);
	$link=$sonuc[1][0];
	if(!empty($link)){
		$img=iconv('ISO-8859-1', 'UTF-8//TRANSLIT//IGNORE', $link);//tr karakter problemi için
		list($Genislik,$Yukseklik) = @getimagesize($img);//olmayan bir dosya deneyin diye @ koydum
	}else{
		list($Genislik,$Yukseklik) = array(100,100);//sabit
	}
    if($Genislik>$Yukseklik){//yükseklik ölçekle
		$list=array($maxGenislik,($Yukseklik * ($maxGenislik / $Genislik)));
    }
    elseif($Yukseklik>$Genislik){//genişlik ölçekle
		$list=array(($Genislik * ($maxYukseklik / $Yukseklik)),$maxYukseklik);
    }else{//her ikisinide ölçekle
		$list=array($maxGenislik,$maxYukseklik);
	}
	if(!empty($link)){
		return '<img src="'.$link.'" height="'.$list[1].'" width="'.$list[0].'" />';
	}else{
		return '<img src="noimages.jpg" height="'.$list[1].'" width="'.$list[0].'" />';
	}
}
//Örnek Kullanım
$makale='bu <img src="abcd.jpg"\> en sevdiğim resim';
echo onizleme($makale,110,100); //110px/100px resim önizlemesi sunar

 

Sürgü ile Renk Değiştirme

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
 <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
<script>
	$(function() {
		$( "#slider" ).slider({
    range: "min",
    value: 50,
    min: 10,
    max: 99,
    slide: function(event, ui) {
      $("#sonuc").text(ui.value);
	  var d=ui.value;
	  var e=Math.ceil(99-d);
	    var deger="#" + d + d + d;
	    var degert="#" + e + e + e;
	  $("body").css("background-color", deger);
	  $("body").css("color", degert);
	  
    }
  });
	});
  </script>
</head>
<body>
  <center><h1>Sürgü ile Renk Değiştirme</h1> </center>
<div id="slider"></div>
 <center><h3><div id="sonuc">50</div></h3></center>

 

Kullanıcı Adı Deseni

<form method="post"><input type="text" name="username"><input type="submit"></form>
<?php
function user_kontrol($user){
	if(!empty($user)){//boş değilse
		if (!preg_match("/[a-üöçşığzA-ÜÖÇŞİĞZ0-9._-]/",$user)) {//sadece harf rakam ve ._- karakterleri içerebilir.
			return false;
		}else{
			if (!preg_match("/[a-üöçşığzA-ÜÖÇŞİĞZ]/",mb_substr($user,0,1,'UTF-8'))) {//ilk karakter sadece harf olmalı
				return false;
			} 
		}
	}
	return true;
}

if(user_kontrol($_POST["username"])){
echo "Uygun Kullanıcı Adı";
}else{
echo "Hatalı Karakter Sistemi Kullanımı";
}

 

Kamera Görüntülemek

window.addEventListener("DOMContentLoaded", function() {
	var canvas = document.getElementById("canvas"),
		context = canvas.getContext("2d"),
		video = document.getElementById("video"),
		videoObj = { "video": true },
		errBack = function(error) {
			console.log("ulusanyazilim.com::error", error.code); 
		};
	if(navigator.getUserMedia) {
		navigator.getUserMedia(videoObj, function(stream) {
			video.src = stream;
			video.play();
		}, errBack);
	} else if(navigator.webkitGetUserMedia) {
		navigator.webkitGetUserMedia(videoObj, function(stream){
			video.src = window.webkitURL.createObjectURL(stream);
			video.play();
		}, errBack);
	}
	else if(navigator.mozGetUserMedia) {
		navigator.mozGetUserMedia(videoObj, function(stream){
			video.src = window.URL.createObjectURL(stream);
			video.play();
		}, errBack);
	}
}, false);
<video id="video" width="640" height="480" autoplay></video>
<canvas id="canvas" width="640" height="480"></canvas>

 

Rakamı Yazıya Çevirme Sınıfı ile Sayıların Türkçe Okunuşu

<?php 
$bir = array("","bir ","iki ","üç ","dört ","beş ","altı ","yedi ","sekiz ","dokuz ");
$on = array("","on ","yirmi ","otuz ","kırk ","elli ","atmış ","yetmiş ","seksen ","doksan ");
$ek = array("", "yüz ","bin ","milyon ","milyar ","trilyon ","katrilyon ","kentilyon ","seksilyon ","septilyon ","oktilyon ");
function uclu($rakam){//sayıyı 3lü hane olarak okutuyoruz
 global $bir,$on,$ek;
 if(strlen($rakam)==1){ return $bir[substr($rakam,0,1)];}
 if(strlen($rakam)==2){ return $on[substr($rakam,0,1)]." ".$bir[substr($rakam,1,1)];}
 if(strlen($rakam)==3){ 
 if(substr($rakam,0,1) > 0){//yüzler hanesinde 0
 if(substr($rakam,0,1) == 1){//yüzler hanesinde 1 problemi
 $yuzler=$ek[1];
 }else{
 $yuzler=$bir[substr($rakam,0,1)].$ek[1];
 }
 }else{
 $yuzler=$bir[substr($rakam,0,1)];
 }
 return $yuzler." ".$on[substr($rakam,1,1)]." ".$bir[substr($rakam,2,1)];
 }
}
function okut($n){
 global $bir,$on,$ek;
 $ns=explode(',',number_format($n));//3lü diziye ayırdık
 for($i=0;$i<count($ns);$i++){//3 lü diziyi döndür
 $j=(count($ns)-$i);//3 lü hangi eke ait?
 if($j > 1){//son $j ek içermez engeli
 if($ns[$i] == 1 and $ek[$j] == "bin "){//bir bin bugu için
 echo $ek[$j]." ";
 }else{
 if($ns[$i] != "000"){//1000123 bin eki tarzı bug
 echo uclu($ns[$i])." ".$ek[$j]." ";
 }
 }
 }else{
 echo uclu($ns[$i])." ";
 }
 }
}

echo okut("1000123"); ?>

Veritabanına Dosya ile Veri Yüklemek

PDO ile

<?php 
$db = new PDO($dsn, $user, $password);

$sql = file_get_contents('file.sql');

$qr = $db->exec($sql);
?>

Komut ile

<?php
$command = "mysql -u{$vals['db_user']} -p{$vals['db_pass']} "
 . "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}";

$output = shell_exec($command . '/shellexec.sql');
?>

Dosyayı okuyup parça sorgulatarak

<?php 
function run_sql_file($location){
    $commands = file_get_contents($location);
    $lines = explode("\n",$commands);
    $commands = '';
    foreach($lines as $line){
        $line = trim($line);
        if( $line && !startsWith($line,'--') ){
            $commands .= $line . "\n";
        }
    }
    $commands = explode(";", $commands);
    $total = $success = 0;
    foreach($commands as $command){
        if(trim($command)){
            $success += (@mysql_query($command)==false ? 0 : 1);
            $total += 1;
        }
    }
    return array(
        "success" => $success,
        "total" => $total
    );
}

function startsWith($haystack, $needle){
    $length = strlen($needle);
    return (substr($haystack, 0, $length) === $needle);
}
?>