Get Adobe Flash player

İşe yarayabilecek php kodları

PHP ve diğer programlama çalışmalarında kolaylık sağlayacak ve rutin işlemleri kolaylaştıracak olan, derleyip seçtiğim bu bir kaç yararlı fonksiyon, sınıf (class) ve javascript dizisini sizlerle paylaşmak istiyorum.

İki aralığın arasındaki değerleri dizi olarak bir değişkene yüklemeye yarayan bir fonksiyon;

function al( $bas, $son, $yazi )
{
	@preg_match_all('/' . preg_quote($bas, '/') .
	'(.*?)'. preg_quote($son, '/').'/i', $yazi, $m);
	return @$m[1];
}

Diğer işe yarar kodları incelemeyi unutmayın;
Perma link yapımlarında türkçe karakterleri düzeltip seo uyumlu linkler yapmaya yarayan bir fonksiyon;

function perma( $baslik )
{
	$bul = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı');
	$yap = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i');
	$perma = trim(strtolower(str_replace($bul, $yap, $baslik)));
	$perma = preg_replace("@[^A-Za-z0-9\-_]@i", '', $perma);
	$perma = str_replace(' ', '-', $perma);
	return $perma;
}

Klasik derlenmiş bir curl fonksiyonu;

function ch( $url, $post=false, $header=false )
{
    $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6';
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HEADER, $header ? true : false);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_POST, $post ? true : false);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $post ? $post : false);
	curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
  	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
	curl_setopt($ch, CURLOPT_REFERER, $URL);
	$icerik = curl_exec($ch);
	curl_close($ch);
	return $icerik;
}

Eyceks kütüphanesinden temiz bir derleme ile javascript ajax fonksiyonu;

function nesne()
{
	var nesne;
	var tarayici = navigator.appName;

	if(tarayici == "Microsoft Internet Explorer")
	{
		nesne = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		nesne = new XMLHttpRequest();
	}
	return nesne;
}
	var http = nesne();

function ajax(sayfa,deger,yer)
{
	http.open('get', sayfa + '?' + deger);
	http.onreadystatechange = cevap;
	http.send(null);

	function cevap()
	{
		if(http.readyState == 4)
		{
			document.getElementById(yer).innerHTML = http.responseText;
		} else {
			if(http.readyState == 1)
			{
				document.getElementById(yer).innerHTML = "Bekleyin";
			}
		}
	}
}

PHP çalışmalarınızda rahat ve hızlı bir mysql yönetimi sağlayan, önceden hazırladığım ve hazırladığım günden beri her çalışmamda kullandığım, PHP için MYSQL sınıfı;
Sınıfı tanıttığım yazıma ulaşmak için buradan buyurun.

Sitelerinizde aşırı ziyaretçi nedeniyle yaşanan aşırı işlem yoğunluğunu azaltmak ve sistemi rahatlatmak amacıyla hazırladığım bir PHP sayfa çıktısını önbellekleme fonksiyonu;

/*
	Php Onbellekleme Sistemi (cache)
	Strefrextor
	14.7.8
*/

$root = $_SERVER['DOCUMENT_ROOT'];
$temp = $root.'bellek/'; # Onbelleklerin tutulacagi dizin
$zaman = 1; # Onbellekleme suresi (Saat)

function bellek_ust(){
	global $zaman, $temp;

	$gonderiler = !empty($_SERVER[QUERY_STRING]) ? '-' . md5($_SERVER[QUERY_STRING]) : null;
	$sayfa = substr($_SERVER[SCRIPT_NAME],1) . $gonderiler . '.html';
	$dosya = $temp . $sayfa;

	if(file_exists($dosya)):
		$dzaman = filemtime($dosya);
		$czaman = time() - ($zaman * 60 * 60);
		if($czaman < $dzaman):
			echo file_get_contents($dosya);
			exit;
		else:
			unlink($dosya);
		endif;
		ob_start();
	endif;
}

function bellek_alt(){
	global $temp;

	$gonderiler = !empty($_SERVER[QUERY_STRING]) ? '-' . md5($_SERVER[QUERY_STRING]) : null;
	$sayfa = substr($_SERVER[SCRIPT_NAME],1) . $gonderiler . '.html';
	$dosya = $temp . $sayfa;

	$icerik = ob_get_contents();
	$ac = fopen($dosya,'w+');
	fwrite($ac,$icerik);
	fclose($ac);
	ob_end_flush();
}

( Bu fonksiyonun kullanımı: Belleklenecek olan sayfaların başında ilk olarak bu fonksiyonları tanımlamanız, daha sonra üst kısmına “bellek_ust()” sonuna ise “bellek_alt()” fonksiyonlarını çağırmanız yeterli olur. )

Dışardan direk olarak bir sorguya yönlendirdiğiniz değerleri mutlaka önceden bu fonksiyon ile HTML taglarının ve çift, tek tırnakların etkisiz hale getirilmesini sağlayın, aksi taktirde hem üyelik hesapları olarak hemde içerik saldırıları olarak çok büyük tehditler altında kalabilirsiniz. SQL enjeksiyon gibi basit ama çok tehlikeli bazı açıkların önüne geçmek için basit bir fonksiyon;

function duzelt( $deger )
{
	return htmlspecialchars(addslashes( $deger ));
}

SEO uyumlu sitelerinizde en iyi başlıklı URL ler için kullanabileceğiz, WordPress’in htaccess dosyası;

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Sizlerinde kullandığı bu tipte işe yarar fonksiyon veya faydalı kütüphaneler varsa eğer bizlerle paylaşmayı esirgemeyin ve başka bir sanal serüvende görüşmek üzere hoşçakalın.

Kaynak: http://www.teyt.org/php-calismalariniz-icin-ise-yarar-kodlar/

Leave a Reply