PHP ve Jquery ile Google suggest benzeri AutoComplete | Otomatik Metin Tamamlama Hazırlamak

Hazırladığınız web sitelerindeki arama kutuları için Google veya Facebook benzeri bir otomatik metin tamamlama özelliği kullanmak isterseniz şu 2 siteyi örnek olarak inceleyebilirsiniz:

http://www.zskblog.com/detay.aspx?id=41

http://loopj.com/2009/04/25/jquery-plugin-tokenizing-autocomplete-text-entry/

Tarayıcıya Göre Yönlendirme Yapmak – Php

Bazen eski versiyon tarayıcı kullananlara gıcıklık yapmak için, bazen mobile tarayıcıları sitemizin mobile sürümüne yönlendirmek için tarayıcıya yada tarayıcı sürümüne göre yönlendirme yapmaya ihtiyaç duyarız. Ben de bu iki nedenden dolayı biraz araştırdım sonunda güzel bir php nesnesine ulaştım. Yeni işletim sistemini, tarayıcıyı, sürümünü, arama motoru botlarını tanıyabilen bir nesne…

Tipik kullanımı şu şekilde:

include 'browser.php';
$browser = new Browser();
$tarayici = $browser->getBrowser();
$tarayici_ver = $browser->getVersion();

Gördüğünüz gibi ilk önce Browser nesnemizin bir kopyasını oluşturuyoruz daha sonra da $browser->getBrowser() ile browser türünü,
$browser->getVersion() ile de browser versiyonunu alabiliyorsunuz. Bunlardan başka getPlatform() fonksiyonuyla işletim sistemini, isRobot fonksiyonuyla gelenin bir bot olup olmadığını, isMobile() fonksiyonuyla gelenin mobil bir tarayıcıdan gelip gelmediğini öğrenebilirsiniz. Daha birçok fonksiyonu var. Fonksiyonlarını dosyanın 184. satırından itibaren açıklayarak tanımlamış inceleyip kullanabilirsiniz…

Browser.php dosyasını burdan indirebilirsiniz.

Son olarak kullanacağınız bazı fonksiyonların döndürdüğü değerler için aşağıdaki listeden yardım alabilirsiniz.

İşletim sistemleri için getPlatform() fonksiyonunun döndürdüğü değerler:

Windows (Browser::PLATFORM_WINDOWS)
Windows CE (Browser::PLATFORM_WINDOWS_CE)
Apple (Browser::PLATFORM_APPLE)
Linux (Browser::PLATFORM_LINUX)
OS/2 (Browser::PLATFORM_OS2)
BeOS (Browser::PLATFORM_BEOS)
iPhone (Browser::PLATFORM_IPHONE)
iPod (Browser::PLATFORM_IPOD)
BlackBerry (Browser::PLATFORM_BLACKBERRY)
  • Windows (Browser::PLATFORM_WINDOWS)
  • Windows CE (Browser::PLATFORM_WINDOWS_CE)
  • Apple (Browser::PLATFORM_APPLE)
  • Linux (Browser::PLATFORM_LINUX)
  • OS/2 (Browser::PLATFORM_OS2)
  • BeOS (Browser::PLATFORM_BEOS)
  • iPhone (Browser::PLATFORM_IPHONE)
  • iPod (Browser::PLATFORM_IPOD)
  • BlackBerry (Browser::PLATFORM_BLACKBERRY)

Tarayıcılar için getBrowser fonksiyonunun döndürdüğü değerler:

  • Opera (Browser::BROWSER_OPERA)
  • WebTV (Browser::BROWSER_WEBTV)
  • NetPositive (Browser::BROWSER_NETPOSITIVE)
  • Internet Explorer (Browser::BROWSER_IE)
  • Pocket Internet Explorer (Browser::BROWSER_POCKET_IE)
  • Galeon (Browser::BROWSER_GALEON)
  • Konqueror (Browser::BROWSER_KONQUEROR)
  • iCab (Browser::BROWSER_ICAB)
  • OmniWeb (Browser::BROWSER_OMNIWEB)
  • Phoenix (Browser::BROWSER_PHOENIX)
  • Firebird (Browser::BROWSER_FIREBIRD)
  • Firefox (Browser::BROWSER_FIREFOX)
  • Mozilla (Browser::BROWSER_MOZILLA)
  • Amaya (Browser::BROWSER_AMAYA)
  • Lynx (Browser::BROWSER_LYNX)
  • Safari (Browser::BROWSER_SAFARI)
  • iPhone (Browser::BROWSER_IPHONE)
  • iPod (Browser::BROWSER_IPOD)
  • Google’s Android(Browser::BROWSER_ANDROID)
  • Google’s Chrome(Browser::BROWSER_CHROME)
  • GoogleBot(Browser::BROWSER_GOOGLEBOT)
  • Yahoo!’s Slurp(Browser::BROWSER_SLURP)
  • W3C’s Validator(Browser::BROWSER_W3CVALIDATOR)
  • BlackBerry(Browser::BROWSER_BLACKBERRY)

Kolay gelsin…

Bu yazı Alıntıdır. Mesajı yazan www.karasancak.net'e teşekkürler.

Hazır Verilerle Otomatik PDF Oluşturma


Bu yazı Excel'deki verilerin çekilerek otomatik olarak bir PDF oluşturma işlemini anlatıyor. Fakat siz bu işlemi veritabanından bilgi çekerek de yapabilirsiniz. Böylece bu işlemi web sayfalarınızda da kullanabilirsiniz.

Diyelim ki elimde bir PDF şablon var ve bu şablona göre 300 kişinin isim ve soyadını kullanarak 300 tane PDF dosyası oluşturmam gerekiyor. Normal işlem, PDF şablon açılır, teker teker isimler kopyalanıp, yapıştırılır ve üretilen PDF dosyası saklanır. Bu proje için otomatik bir yol buldum ve belki günün birinde size de lazım olur diye paylaşayım dedim.

Diyelim ki elinizde bir PDF şablonunuz (örneğin yemek, parti, doğum günü davetiyesinden oluşmuş bir PDF dosyası) ve bir dolu isim ve e-mailden oluşan bir Excel dosyanız var.

Öncellikle Excel dosyanızı, txt dosyası olarak yeniden kayıt edin (örneğin veri.txt) ve aşağıda görülen bir veri dosyası oluşturun:

isim soyad

Ali Veli

Mehmet Saricizmeli


Daha sonra, PDF şablonunuzu açın ve yukarıdaki verilerin görünmesi gereken yerlere PDF Form araçları sayesinde Textbox oluşturun. Textbox'in ismi ile veri dosyanızdaki sütun başlıklarının uyuşmasına dikkat edin.

Textbox ile süslediğiniz bu yeni PDF şablonu veri dosyası (veri.txt) ile aynı klasör içine saklayın ve daha sonra Adobe Acrobat içinde şablonunuz açıkken Ctrl+J'ye basıp, Acrobat Console'u ekrana çağırın ve aşağıda gördüğünüz JavaScript'i kopyalayıp, yapıştırın.
var targetDirectory ="/C/Temp/Sonuc/";
var re = /\.pdf$/i;
var filename = this.documentFileName.replace(re,"");
var i = 0, retn = 0;
while( retn == 0 ) {
retn = this.importTextData("veri.txt", i);
var f = this.getField("soyad");
if ( retn == 0 ) {
try {
this.extractPages({
nStart: 0,
cPath: targetDirectory + f.value + ".pdf"
});
} catch (e) { console.println("Aborted: " + e) }
i++;
}
}
Hepsi bu kadar! Ctrl+A'ya basıp, bütün kodu secili hale getirip, Ctrl+Enter'a basın. Voila! 300 tane PDF dosyası, isim ve email adresleri gereken yerlere yazılmış şekilde sizi bekliyor.

Yukarıda kod içinde değiştirebileceğiniz kısımlar:

var targetDirectory kısmı, bu scripte, üretilecek PDF dosyalarının saklanacağı dizini tanımlıyor.

this.importTextData("veri.txt", i); ise veri dosyanızı ismini taşıyor.

this.getField("soyad"); kısmı ise, bu dosyaların nasıl isimlendirileceğini tanımlıyor.

Verdiğimiz örnek içinde, üretilen dosyalar, veri dosyanız içinde bulunan "soyad" sütunundaki verileri kullanarak isim verecek, örneğin "Veli.pdf".

Umarım günün birinde, bu scriptin size de yardımı dokunur.

Bu yazı Alıntıdır. Mesajı yazan Mehmet Doğan'a teşekkürler.

EasyPHP 5.3.x ile Mysql ve PhpMyAdmin Bağlantı Hatası

EasyPHP 5.3.2, EasyPHP 5.3.1 yada EasyPHP'nin son versiyonlarında eskiden çalışan mysql bağlantılarınızda (mysql_connect) şöyle bir hata alıyorsanız:

Warning: mysql_connect() [function.mysql-connect]: [2002] Bağlanılan uygun olarak belli bir süre içinde yanıt vermediğinde (trying to connect via tcp://localhost:3306) in C:\Program Files\EasyPHP\www\baglan.php on line 17

Warning: mysql_connect() [function.mysql-connect]: Bağlanılan uygun olarak belli bir süre içinde yanıt vermediğinden veya kurulan bağlantı bağlanılan ana bilgisayar yanıt vermediğinden bir bağlantı kurulamadı. in C:\Program Files\EasyPHP\www\
baglan.php on line 17

Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\EasyPHP\www\
baglan.php on line 17
çözümü burada:
$link = mysql_connect("localhost","root","");


şeklindeki bağlantı satırınızı

$link = mysql_connect("127.0.0.1","root","");

şeklinde değiştirin.

Not: Eğer phpmyadmin'de çalışmıyor ve beyaz sayfa görünüyorsa aynı işlemi phpmyadmin ayarlarından yapmalısınız. phpmyadmin/config.inc dosyasındaki 18. satırdaki localhost yerine 127.0.0.1 yazmalısınız.

PHP Server Saatini Türkiye İçin Uyarlama

Eğer php kullanıyorsanız ve server saatiniz hatalı çıkıyorsa, büyük ihtimalle server'ınız başka bir ülkededir ve bundan dolayı saat ya ileri yada geri çıkıyordur. Çözümü çok basit:

  • Saat komutlarının olduğu bütün sayfaların başına şu kodu ekleyin, işte bu kadar:
date_default_timezone_set('Europe/Istanbul');

  • Yukarıdaki yöntem en basiti ama başka çözüm yollarıda var. Şu komutuda sayfalara ekleyebilirsiniz:
putenv("TZ=Europe/Istanbul");

  • Yada üçüncü ve uzun yöntemle şu kodları kullanabilirsiniz:
$fark = "7";
$saatfark = (date("H") + ($fark));
$zaman1 = mktime( $saatfark, date("i"), date("s"), date("m"), date("d"), date("Y"));
$tarih = date("Y-m-d",$zaman1);
$zaman = date("H:i:s",$zaman1);
echo $zaman ;

Kaynak: http://www.megabul.com