“Php” Etiketli İletiler
Php ile Dizin İçindeki Dosyaları Sayfalama
Uzun zamandır php'de işinize yarayabilecek kodları paylaşamıyordum. Sağda solda birkaç kendini bilmez arkadaş, php-copy-paste üstadı oldukları için forumlarda paylaştığımız kodları derleyip kendileri hazırlamış gibi paylaşır oldular. Olsun, onlarda bir şekilde ekmek yiyecek.. Neyse. Biz gelelim esas konumuza;
Aşşağıda vereceğim kod ile, bir dizindeki dosyaları sayfalar halinde listeleyebileceksiniz. Atıyorum makalelerinizin olduğu bir klasör var, ve bu makaleleri 10'ar lı gruplar halinde sayfalamak istiyorsunuz. Bu noktada yardımınıza bu kod blogu koşuyor:
<?php
# EvrenWeb
# EvrenCe.Com 2009
$dizin = "./makale";
$tutucu = opendir($dizin);
while(($dosya = readdir($tutucu)))
{
if(is_file($dizin."/".$dosya))
$makale[] = $dosya; }
closedir($tutucu);
$limit = 10;
$sf = $_GET["id"];
if($sf < 1) $sf = 1;
$toplam = count($makale);
$kactan = ($sf-1) * $limit;
$kaca = ($kactan+$limit);
if($kaca > $toplam) $kaca = $toplam;
for($i=$kactan; $i < $kaca; $i++){
echo "<p>".($i+1).") "."<a href='".$dizin."/".$makale[$i]."' target='_blank'>".$makale[$i]."</a></p>";
}
echo "<p>";
for($i=1; $i <($toplam / $limit)+1; $i++){
if($sf == $i)
echo "$i";
else
echo "<a href='index.php?page=makaleler&id=$i'>\t$i</a>\n";
}
echo "</p>\n";
?>
Facebook’a özel içerik
Bazen projelerimizde sosyal medya paylaştırıcıları kullanırız. Hatta bu sıralar kullanmak zorundayız.. Şu'an bu yazının altında da gördüğünüz facebook paylaşım aracına özel sayfa göstermek istiyorsanız bu yazı size göre !
İçeriğinizi facebook ile paylaşırken şu tarz bir link kullanıyorsunuz.
http://www.facebook.com/share.php?v=4&src=bm&u=http://www.evrence.com/programlama/fbml/facebooka-farkli-muzik-calar-ekleme.html&t=Facebook’a Farklı Müzik Çalar Ekleme
Burada, facebook üzerinde bulunan share.php ye bilgi yolluyor, share.php de, sitenize gelip içeriği kontrol edip
yukarıda gördüğünüz gibi minik bir taslak çıkarıyor. Mevzu aslında bundan ibaret. Peki biz içeriğimizi facebook'a özel nasıl göstereceğiz bu yazıda ona değineceğim.
Bu işi facebook'da müzik paylaşırken yapma ihtiyacı duymuştum. Her ne kadar şuan yayında olan bir site olmasada müziklerinizi facebook music player üzerinden paylaşma imkanı sağlayan bir taslağım elimde mevcut. Bu işi nasıl yaptığımı kimse anlamasın diye içeriğimi facebook'a özel gösteriyordum. Yapacak olan adam dökümantasyondan arayıp bulabilir, dünyayı yeniden keşfetmiyoruz nede olsa. Gerçi nasıl yaptığım konusunda bir yazı yazmayıda düşünmüyor değilim neyse..
Share.php yi sunucuma davet ettiğimde, sordum kendisine sen kimsin neyin fesisin diye. Bana şöyle bir çıktı verdirtti,
HTTP_USER_AGENT: facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
Facebook, kendisini böyle tanımlatıyordu. Muhtemelen biz geliştiriciler için hazırlanmış birşey
Bundan sonrası iki satır kod parçası..
PHP’de Session Zamanını Belirlemek
PHP de oturum işlemleri gibi önemli işlerde genelde $_SESSION değişkeni kullanılır. Mesela üyenizin sitenizde oturum açıp açmadığını session yardımı ile kontrol eder, gerekli bilgiler sisteminize bu session değişkeni üzerinden aktarırsınız. Olmazsa olmazlardan birisidir yani.
Session konusunda karşımıza çıkabilecek bir problem olan session zamanını ayarlamaktır. Mesela üye, 10 dakika boyunca herhangi bir işlem yapmadı ise o oturumu sonlandırmak, üyeniz için faydalı bir özellik olabilir. İnternet cafeden sitenize erişmiştir ve çıkış yapmadan kalktı ise ondan sonra gelen, sitenizi sanki oymuş gibi kullanabilir, istenmeyen şeylerin olmasına sebep olabilir. Sizde programcı olarak bu gibi durumları göz önünde bulundurmalısınız. Peki bu kontrolü nasıl sağlarsınız. Pekçok yöntemi var fakat programlama mantığınızın gelişmesi açısından aşşağıda vereceğim örnek, en iyi örnek olsa gerek..
session_start();
// timeout periyodu, sn olarak
$inactive = 600;
if(isset($_SESSION['timeout']) ) {
$session_life = time() - $_SESSION['timeout'];
if($session_life > $inactive)
{ session_destroy(); header("Location: cikis.php"); }
}
$_SESSION['timeout'] = time();
Yukarıdaki kodu yorumlayamadıysanız php.ini dosyanıza dalıp gerekli ayarlamayı yapabilirsiniz. php.ini de bulunan session.gc_maxlifetime değişkeni ile session un zamanını ayarlayabilirsiniz. Bu değer ön tanımlı olarak 1440 saniyedir. Fakat pek çok hosting sağlayıcısı bunun üzerinde sizlere oynama imkanı vermeyecektir o yüzden başka bir yol olan .htaccess üzerinden işimizi halledeceğiz.
php_value session.gc_maxlifetime 300
kodunu .htaccess dosyamıza ekleyerek session ömrünü 300 saniye yapabiliriz. Kontrol etmek için ise .htacess in bulunduğu klasörde bir sayfa oluşturup phpinfo() fonksiyonunun çıktısına bakmaktır.
Unix sistemlerde sessionlarımız /tmp klasöründe saklanır. Bu klasör sistem tarafından belirli araklıklarla temizlendiği için istemediğimiz durumlar ortaya çıkabilir. Bunu değiştirmek istersek, yukarıdakine benzer şekilde php.ini den yada .htaccess dosyasından yapabiliriz. php.ini ye erişimimizin olmayacağını varsayarak direk .htaccess için bilgi vereceğim,
php_value session_save_path /klasörün_yeri
yukarıdaki parametreyi ekleyerek /tmp klasörünü değiştirebiliriz.
Sessionlar ile ilgili daha detaylı bilgiler edinmek isterseniz burayı inceleyebilirisiniz.
Php ile Dizin Listeletme
Php ile dizin listeleme işlerini nasıl yapıcağımıza göz atıcaz. Hatta burada istek doğabileceği düşüncesi ile bulunan dosyanın uzantısına göre bir resim ekleme işlemini nasıl yaparız buna da değinmek istedim.
<?php $dizin = opendir('./dosyalar'); if ($dizin){ while ($dosya = readdir($dizin)) { if($dosya=='.' OR $dosya=='..') {$dosya='';} if(!is_dir($dosya)){ $dosyalar[]=$dosya; } } } sort($dosyalar); $img = ""; foreach ($dosyalar as $dosyam) { $tur = explode(".", $dosyam); if(isset($tur["1"])) { if($tur["1"] == "evr") { $img = "<img src='img/ball_red.png' />";} if($tur["1"] == "css") { $img = "<img src='img/ball_yellow.png' />";} if($tur["1"] == "psd"){ $img = "<img src='img/ball_green.png' />";} echo $img." ".$dosyam."\n"; } } ?>
Bu kodlar sayesinde dizinin içini listeletebiliyoruz. Bu kodun çalışan örneğine buradan bakabilirsiniz.
Anlaşılmayan yerleri yorum kısmından sorabilirsiniz. Kolay gelsin
Tarayıcı Diline Göre Dil Secme – Çoklu Dil Desteği
Turk-php de konu geçince burada minik bi örnek hazırlayıp ekran cıktılarının nasıl olduğunu göstermek istedim. Burada yapacağımız iş gelen kullanıcının tarayıcı dilini bulma. Bunu bulduktan sonra dil dosyasını çektiricez yada o dil ile yapılmış kısma yönlendiricez.
<?php /** * @author evrenweb * @copyright 2009 */ echo "Bu server değişkeninin çıktısı: <b>".$_SERVER['HTTP_ACCEPT_LANGUAGE']."</b>"; $Langue = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); echo "Bu arınmış hali: <b>".$Langue."</b>"; ?>
Burada gerekli değişkeni inceledik, bizim işimize yarıyacak kısmı çektik. Ben neyin ne olduğunu anlamanız açısından fazalaca ekran çıktısı kullandım. Bundan sonra iş mantık kontrollerine geliyor. Eğer $langue değeri "tr" ise türkçe dil dosyasını çek gibi ifadeler ile işimizi halledebiliriz.
Kodun çalışan örneğini buradan görebilirsiniz.
PHP Editörü – phpDesigner
PHP ile uğraşan bir çok kişi notepad++ kullanmakta. Ama benim vazgeçilmezim phpDesigner.
Gerçekten kullanımı, renklendirmesi, hataları belli etmesi benim çok ama çok kolaylığıma geliyor. Denememiş ve kullanmamış bütün aradaşlara ŞİDDETLE tavsiye ederim.
phpDesigner hakkında daha çok bilgiyi buradan alabilirsiniz.
Ayriyetten full versiyon olarakda böyle bir link buldum. Umarım işinizi görür. Kolay gelsin.
Türkçe PHP Kitabı
Gece dolanırken fark ettimki en çok rabet gören başlıklardan biriside bu. Türkçe PHP Kitabı. Her ne kadar programlama ile uğraşıldığında kasmadan göz aşinalığı ile olsada ingilizce olarak devam etmekten yana olsamda benim gibi ingilizcesi yetersiz arakdaşlar için bu konuyu ele almayı istedim.
Türkçe PHP Manuel in piyasada dolandığını gördüm. Tıklayarak indirebilirsiniz. Fakat açıp da kurcalamadım.
Hakkı Öcal hocamızın basit seviyedeki bir kitabı vardı. Zamanında piyasada çok adı geçmişti, sevenler sevmeyenler vs vs.. O kitabada buradan ulaşabilirsiniz.
Gördüğüm ve duyduğum kadarıyla en iyi php ve mysql anlatımı Alfa 'dan cıkan PHP ve MYSQL kıtabında.Yazarları: Luke Welling, Laura Thomson.
Bu kitap biraz daha ileri seviyeler için. Bence okumaya başlamak için biraz php ye adapte olmak lazım.
jQuery,JSON ve pHp Mükemmel Grup :)
Geçenlerde kkulife a galeri yapmaya çalışırken yeni bir olayla karşılaştım. JSON..
jQuery nin türkiye mail grubu ile mesajlaşırken Hüseyin Berberoğlu saolsun aklımda bişeyler oluşturması amacı ile google da bu 3 lü yü arayabilirsin demişti. Bende hemen araştırmaya başladım ve karşıma güzel sonuçlar çıktı. Tabiki en güzeli erhan (Eburhan) dan geldi
JSON xml tarzında bir yapıya sahip. Jquery ile de güzelce kullanabiliyoruz. Büyük şirketler de apilerinde JSON a yer vermiş. Mesela yine kkulife a yapacağım video olayını bu yazıyı yazarken youtube apisine göz gezdirmemle çözmüş bulunmaktayım
[ Teşekkürler Türker ]
Gelelim mevzumuza.. Erhanın sitesinde yazmıs olduğu güzel makaleyi burada da yayınlamak istiyorum.


Pascal – Ekran Komutları
South Park Tipleri
SanaAsigim.Com
Modakolik.Com – Kendi Modanızı Yaratın
Tatile Devam :)

