|
|
|
|
PHP |
array_map fonksiyonu ile büyük kolaylıklar | | Herhangi bir fonksiyonu toplu halde uygulayabilmenize yarar. Dizi olarak çıktı verir.
array_map("fonksiyon adi","fonksiyon uygulanacagi veri");
<?php
# Filtre Fonksiyonumuz
function filtrele($girdi){
$girdi = htmlspecialchars(mysql_real_escape_string($girdi)); # zararlı kodları temizledik.
return $girdi;
}
$_POST = array_map("filtrele",$_POST);
?> |
Böyyük Patron Tarafından 11-03-2010 Tarihinde Gönderilmiştir.
Bu Konuyu Yazdır
Kaynak : |
|
|
PHP |
php ile cache sistemi | | Mysql overload olduğunda
Cpu kullanımı arttığında
Host Bulamaz Hale Geldiğinizde
Yada kendi sunucunuz olsa dahi sitenize girmeye
korktuğunuzda ( ya ben siteye girince sunucu çökerse dediğinizde)
İşte cache sistemindeki amacımız kaynak tüketimini en aza indirmek
Yukarda saydıgım durumların en feci olanı mysql sunucu özellikleri düşük ise
Siteyi 4 5 defa yenileyince mysql tavan yapıyor O hiç sevmediğin olay Olur
Databaseye Bağlanamadım
Konu fazla uzadı sanırım r10 da açılan konuda hakimi arkadaşımız
Burada basit bir cache betiği yayınlamış
yazmış olduğu betikte ufak bi güvenlik açığı vardı biraz düzenledim betiği
Betik 2 Kısımdan Oluşuyor birinci kısım sayfanın en üstüne yazılacak kısmı
2 kısım ise sayfanın en altına yazılacak kısmı
Aşşağıdaki kısmı sayfanın en üstüne yazılacak kısmı
<?
$filename = "%%-".md5($_SERVER['REQUEST_URI'])."-%%.html";
$cachefile = "cache/".$filename;
$cachetime = 3 * 60 * 60; // Cache Süresi
if (file_exists($cachefile))
{
if(time() - $cachetime < filemtime($cachefile))
{
readfile($cachefile);
exit;
}
else
{
unlink($cachefile);
}
}
ob_start();
?>
Aşşağıdaki kısmı isi sayfanın en altına yazılacak kısmı
<?
$fp = fopen($cachefile, 'w+');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush();
?>
Temel Olarak Betiğin Ne işlev gördüğünü açıklıyayım basit Bir şekilde
Herhangi bir ziyaretçi sitemizi ziyaret etti örnek verecek olursak
http://www.sitemiz.com/mysql-php-ajax.html
cache betiği url yi alıyor ve isimini md5 liyor ve $cachefile diye bir değişkene atıyor
ve daha sonra sayfanın en altına eklediğimiz
$fp = fopen($cachefile, 'w+');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush();
Php Kodları $cachefile dosyasını yazılabilir şekilde açıyor ve sayfa içeriğini
yazıyor Tekrar Bir ziyaretçi
http://www.sitemiz.com/mysql-php-ajax.html
yazıp sitemizi ziyaret ettiğinde üstü yazdığımız php kodları devreye giriyor
if(time() - $cachetime < filemtime($cachefile))
{
readfile($cachefile);
exit;
}
Şimdiki zaman ile dosya zamanı arasındaki fark cache süresinden kücük ise readfile
ile daha önce kaydetmiş olduğumuz html dosyasını ziyaretciye gösteriyor
Bizim burdaki Kazancımız sitemize giren 2. ziyaretci izin mysql sorguları php sorguları yerine
daha önce kaydetmiş olduğumuz html dosyasını gösterdik ve kaynaktan tasarruf ettik
Umarım Anlatabilmişimdir unutmadan cache süresini $cachetime değişerek kendinize göre ayarlayabilirsiniz |
Böyyük Patron Tarafından 11-03-2010 Tarihinde Gönderilmiştir.
Bu Konuyu Yazdır
Kaynak : |
|
|
PHP |
google sitemap pinglemek | | <?php
$sitemap = "http://www.siteadresin.com/sitemap.xml";
function pingGoogleSitemaps( $url_xml )
{
$status = 0;
$google = 'www.google.com';
if( $fp=@fsockopen($google, 80) )
{
$req = 'GET /webmasters/sitemaps/ping?sitemap=' .
urlencode( $url_xml ) . " HTTP/1.1\r\n" .
"Host: $google\r\n" .
"User-Agent: Mozilla/5.0 (compatible; " .
PHP_OS . ") PHP/" . PHP_VERSION . "\r\n" .
"Connection: Close\r\n\r\n";
fwrite( $fp, $req );
while( !feof($fp) )
{
if( @preg_match('~^HTTP/\d\.\d (\d+)~i', fgets($fp, 128), $m) )
{
$status = intval( $m[1] );
break;
}
}
fclose( $fp );
}
return( $status );
}
if( 200 === ($status=pingGoogleSitemaps($sitemap)) )
echo "Google pingleme islemi basarili.";
else
echo "Google pingleme isleminde hata!";
?> |
Böyyük Patron Tarafından 11-03-2010 Tarihinde Gönderilmiştir.
Bu Konuyu Yazdır
Kaynak : |
|
|
| | Default değer bir kolon herhangi bir değer almayacağı durumlarda kullanılır. Herhangi bir değer yok ise default olarak atanan değer ilgili alan değeri olur. Yalnız IDENTITY ve TIMESTAMP veri tipli alanlar default değer alamazlar. |
Böyyük Patron Tarafından 11-03-2010 Tarihinde Gönderilmiştir.
Bu Konuyu Yazdır
Kaynak : |
|
|
| | Bit veri tipi; verileri boolean değer şeklinde saklar(0/1 veya false/true). Bit veri tipi SQL Server 7.0 öncesindeki sürümlerinde NULL değeri desteklemiyordu. Fakat SQL Server 7.0 ile birlikte bit veri tipli alanlarda üçüncü durum olarak NULL değeri(1, 0 ve NULL) de kabul etti. |
Böyyük Patron Tarafından 11-03-2010 Tarihinde Gönderilmiştir.
Bu Konuyu Yazdır
Kaynak : |
|
|
|
|
|