bildirgec.org

php hakkında tüm yazılar

Size Sıfırdan PHP Öğretecek 25 Kaynak

pinkfloyd | 28 December 2008 19:33

PHP dinamik web siteleri ve uygulamaları geliştirmek için geliştirilen sunucu tabanlı bir betikleme dilidir. Halihazırda bir PHP kurdu olabilir ya da PHP’nin ne olduğundan bihaber olabilrsiniz. Buna rağmen eğer herhangi bir web geliştirme projesine dahil olmayı planlıyor ya da halihazırda bu ortamın kıyısından köşesinden tutuyorsanız, bu öğrenmesi kolay programlama dilini öğrenmek zorundasınız. Bugünkü makalemizde sizi PHP ile programlamaya başlamanıza yardımcı olacak 25 kaynaktan bahsetmek istiyorum.

PHP de ne ola?
Kullanma kılavuzundan kopyala-yapıştır yapacak olursak, PHP “HTML içerisine gömülebilen ve web tabanlı geliştirme projeleri için kullanılabilen bir betikleme dilidir”.

PHP’de Güvenlik ve Oturum Yönetimi

admin | 28 December 2008 16:15

Kullanıcı içerikli siteler yapmak istiyorsak bu kullanıcılara doğru bir şekilde işlemlerini yapabilmeleri için oturum izinleri vermemiz, bu oturumu yönetmemiz ve bunu güvenli bir şekilde yapmamız gerekmektedir.

Kullanıcının çevrimiçi olup olmadığını ve bu durumuna göre sayfalara erişip erişemeyeceğinin kontrolü için gerekli olan oturum yönetimini yapabilmek için çeşitli yollar bulunmaktadır.

Bu yazıda bahsedeceğim yollar PHP için düşünülmüş olup diğer internet programlama dilleri için de kullanılabilir. Benzer yaklaşımlarla, server olarak kullanılan bilgisayarlarda da hizmet alan kullanıcılar için sunucumuz bir oturum yönetimi yapmalıdır.

curl ile data cekme fonksiyonu

admin | 25 December 2008 14:37

curl ile data cekme fonksiyonu

asagidaki kod su sekilde calisiyor.

url deki adrese git ve
title’i getir ve yazdır.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# data alinacak adres
$url = 'http://www.kodaman.org';
$web_content = get_data($url);
# datayi nereden alacagi
$title = get_match('/<title>(.*)<\/title>/isU',$web_content);
$content.= '<h2>Title</h2><p>'.$title.'</p>';
echo $content;
function get_match($regex,$content)
{
preg_match($regex,$content,$matches);
return $matches[1];
}
# url'deki datayi getirecek olan curl fonksiyonu
function get_data($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}

GD ile thumbnail oluşturma

admin | 24 December 2008 19:07

GD kütüphanesi kullanarak çok basit birşekilde Thumbnail oluşturma fonksiyonu.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function picture($off_site,$savethumb,$gen) {
$fp = fopen($off_site, 'rb') or die($off_site.' konumunda dosya açılamadı.');
$buf = '';
while(!feof($fp))
{
$buf .= fgets($fp, 4096);
}
fclose($fp);
$data = $buf;
//yeni boyutlandırma
$size = $gen;
$src = imagecreatefromstring($data);
$width = imagesx($src);
$height = imagesy($src);
$aspect_ratio = $width/$height;
//ölçeklendirme
if($width <= $size)
{
$new_w = $width;
$new_h = $height;
}else{
$new_w = $size;
$new_h = abs($new_w / $aspect_ratio);
}
$img = imagecreatetruecolor($new_w,$new_h);
//çıktı
imagecopyresampled($img,$src,0,0,0,0,$new_w,$new_h,$width,$height);
// header
//if(empty($savethumb)) header('Content-Type: image/jpeg');
// ya da kaydedin
imagejpeg($img, $savethumb, 90);
imagedestroy($img);
}

PHP ile Basit Bir İmla Denetimi

admin | 24 December 2008 19:00

Üyelerden gelen iletiler hezaman forumların, blogların, ziyaretçi defterlerinin başını ağrıtmaktadırlar… Özellikle türkçeye en ufak bir saygı gösterilmemesi ve imla işaretlerinin yanlış kullanılması az-çok edebiyat ile uğraşmış PHP coderlerini aşağıdaki gibi bir fonksiyon yazmaya götürebilir….

Burada fonksiyon olarak verilen işlemleri, yöneticisi olduğumuz forumlarda alıntı yazıları düzenlemek için biteviye tekrarlıyorduk… Bu fonksiyon da oradan aklımıza düşmüştü…

PHP ile Basit Bir İmla Denetim Fonksiyonu… İhtiyaç oldukça yazmakta yarar var.

MySQL tablolarında zengin içerik arama (Full-Text)

admin | 23 December 2008 12:43

PHP-MySQL kullanarak arama modülü yazılırken kullanılabilecek ve yararlı bir özellik
MySQL de arama sorguları yazarken genel olarak LIKE komutunu kullanırız. LIKE tan farklı olarak full-text indekslerini de kullanabilriz. MySQL full-text indeksleri arama sorguları için LIKE fonksiyonundan daha etkili ve kullanışlıdır. Ayrıca sonuçları rahatça sıraya koymamızı sağlaması da önemli bir artıdır. full-text arama tablolardaki VAR,TEXT ve VARCHAR alanlarını full-text indeks olarak atayıp MATCH fonksiyonunu kullanarak bunlarda arama yapmak olarak özetlenebilir. Alanları full-text şöyle yapabiliriz.

php ile özel sayfalar

moment | 23 December 2008 12:35

php kullanmaya yeni basladım. yaptığım bir sayfaya kullanıcı adı ve şifresini girmemiş birisinin erişmesini istemiyorum. session lar ile oturum açıp gidildiğini anladım fakat herhangi bir sayfada oturum açtıktan sınra oturum süresi kadar kullanıcı adı ve parolasını nasıl kontrol ederilm ?
internette aradığımda herkes üye sistemi nasıl yapılır anlatmış ancak oturum yönetimi ile ilgili ben döküman bulamadım, bilen var mı ?

Php’de Nesne Yönelimli Programlama

admin | 18 December 2008 19:08

Php kodunuzu tasarlarken veritabanı ve tasarım arasında nesnelerinizde bir katman yaratmak isteyebilirsiniz. Daha esnek daha düzenli bir tasarım için nesne yönelimli programlamanın ne kadar önemli olduğunu hepimiz biliyoruz. Bu yazıda Php’de Veritabanı Sorguları İçin Nesneleri Kullanmaya giriş yapacağım.

Veritabanı sınıflarını tasarlarken veritabanı yapınıza paralel gitmek uygun olacaktır. Sık sık kullanılan tabloların hepsini kaydedip gerektiğinde kullanmak uygun bir çözüm olabilir. Örneğin renklerin tutulduğu bir tablo için

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php class renk
{
private $no;
private $deger;
private function __construct($no)
{
self::$nesneler[$no]=$this;
$this->no=$no;
}
public function __toString()
{
return $this->deger;
}
private static $nesneler;
public static function sec($no)
{
if(!(isset(self::$nesneler[$no])))
self::tumunuyarat();
if(!(isset(self::$nesneler[$no])))
throw new Exception('Obje yaratılamadı.');
else
return self::$nesneler[$no];
}
private static tumunuyarat()
{
$renksec = mysql_query("SELECT no, deger FROM renk WHERE 1 ");
while($renksatir=mysql_fetch_row($renksec))
{
$renk=new renk($renksatir[0]);
$renk->deger=$renksatir[1];
}
}
} ?>

php ile, hızlı ve basit bir cache uygulaması…

admin | 17 December 2008 10:30

Bir yöntemin büyüklüğü biraz da ne kadar basit ve uygulanabilir olduğunda gizlidir.

Herseferinde, sık değişmeyecek kıstasları defalarca sorgulayıp ekrana basmak gibi bir zahmete neden katlanalım ki. Sayfamızı oluşturalım ve oluşan html çıktısını bellekleyelim.

bu durumda bir tane bellek klasörü belirliyoruz

//bellek

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
//güvenlik
//sayfabaşlığı
//bellekte bir şey var mı?
$filename = 'bellek/bellektekidosya.php';
if (file_exists($filename))
{
// dosya varsa cache den okuyoruz
$fileway = fopen($filename, "r");
$fileinfo = fread($fileway, filesize($filename));
//$fileinfo.="cache time ;)";
fclose($fileway);
}
else
{
//
// *** Makaleye bakınız
//
//bellekte yoksan belleğe gel
$fileway = fopen($filename, "w");
fwrite($fileway, $fileinfo);
fclose($fileway);
}
?>
<?=$fileinfo?>
<?
//sayfasonu
//bağlantıyı kes
?>

//makaleye bakınız 😉
Burda en dikkat edilmesi gereken nokta bellekleyeceğimiz kısım. Dilersek sadece SQL sorguların bellekleriz… Lakin bu bize yeterli hızı sağlamaz… Kimi durumlarda sayfaları bütün çıktıları ile belleklemekte yarar var…

Ajax nedir, ne değildir.

admin | 16 December 2008 13:37

Herkesin şu ajax dediği şeyi bir ele alma vakti geldi artık!
Ajax anlam olarak Javascript ve XML’in farklı zamanlarda (asynchronous/senkron olmayan) kullanması anlamına geliyor.
Özetle sayfanız yüklendikten sonra sayfanızın hala veri alıyor ya da gönderiyor olması.
Ajax 2005 yılında Google’ın önerisi üzerine popülerleşmiştir.

  • Ajax yeni bir dili programlama değildir, mevcut dilin farklı şekillerde kullanılmasıdır.
  • Ajax animasyon yapımında kullanılan bir şey değildir, yani sağdan soldan kayan şeyler ajax değildir. Onlar yalnızca Javascriptin ve CSS in birlikte etkin kullanıldığı sayfalardır ki biz buna DHTML diyoruz. (Dom, javascript, css)
  • Ajax iyidir çünkü web site trafiğini düşürür, tüm sayfanın yeniden yüklenmesi yerine sadece gerekli yerler değiştirilerek trafikten kazanılır.
  • Ajax, javascript ile yazılır onu ASP, PHP, ColdFusion gibi diller ile zengin ve aktif olarak kullanabilirsiniz.

Ajax kullanımı, göz atıcınızın bu standartı (http request) desteklemesi ile gerçekleşir. Bu explorer için Microsoft.XMLHTTP ve bir çok diğer göz atıcı için XMLHttpRequest özelliğidir. Method isimleri farklı olsa da kullanımları aynıdır.