Arşiv: 'Yazılım'

PHP İle Header Post

Header verisini değiştirerek post etmek, bazı uygulamalarda lazım olabilir. Bana lazım olmuştu ve bu yazıda verdiğim kodu kullanarak çözüm üretmiştim.

Bunun için şöyle bir fonksiyon yazalım.

function do_post_request($url, $data, $optional_headers = null)
{
$params = array(‘http’ => array(
‘method’ => ‘POST’,
‘content’ => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, ‘rb’, false, $ctx);
if (!$fp) {
throw new Exception(“Problem with $url, $php_errormsg”);
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception(“Problem reading data from $url, $php_errormsg”);
}
return $response;
}

Bu fonksiyonda, parametre olarak verilen $url adresine $data verileri, $optional_headers opsiyonel başlığı kullanılarak POST edilebiliyor. Geriye, gelen veriyi döndürüyor. Bu fonksiyon için örnek bir kullanım şu şekildedir:

$posturl = ‘http://www.domainname.com/example.php’);
$postvars= ‘username=’.$uname.’&pass=’.$upass);

$opshdr=”Host: www.domainname.com”;
$opshdr.=”\nKeep-Alive: 300″;
$opshdr.=”\nConnection: keep -alive”;
$opshdr.=”\nReferer: http://www.domainname.com”;
$opshdr.=”\nContent-Type: application/x-www-form-urlencoded”;
$cdata=”Gelen Veri : “.do_post_request($posturl, $postvars, $opshdr);

Plesk Panel Sorunlarından İkisine Çözümler

Bir sunucudan diğerine, pleskten yedek alarak ve diğerinde de bu yedeği açarak yapılan taşıma sırasında, sitenize giremeyebiliyorsunuz. Bunun nedeni de dizindeki erişim izinleri. Taşıma sırasında sorun oluşabiliyor ve bazı yerler atlanabiliyor. Benzer şekilde, bir sayfaya girerken kullanıcı adı ve şifresi soruyorsa, büyük ihtimalle anlattığımı uyguladığınızda sorun çözülecektir.

Bu sorunu çözmek için, sorun olan sitenin bulunduğu klasörde bulunan .Security dosyasını silin. Daha sonra Plesk panele girip, domainlerden, sorun olan domaini seçin. İzinleri Kontrol Et linkine tıklayın. Gelen sayfadan Yalnızca Denetim Modu’nun işaretini kaldırıp Tamam butonuna tıklayın. İşlem tamamlandığında sorun çözülmüş olacaktır.

Bir diğer sorun da, webmail sayfasına girildiğinde açılan Varsayılan Plesk Sayfası.

Bu sorunu çözmek için, Plesk panelden Sunucu sayfasına girin. Daha sonra gelen sayfadan, Bileşenler’e tıklayarak bileşenlerin bulunduğu sayfayı açın. Webmail kısmına tıklayarak Horde’yi seçin. Daha sonra Başlat>Çalıştır’a cmd yazarak komut sistemini açın. Komut sistemine

C:\Program Files\Parallels\Plesk\admin\bin>websrvmng.exe –reconfigure-webmail

yazın ve onaylayın. Webmail sorununuz da çözülecektir. Çözülmezse, Plesk panelde Domainler sayfasından istediğiniz domainleri seçin. Grup işlemleri linkine tıklayın. Tercihler kısmından Aç’a tıklayarak, devamındaki açılan kutudan Horde’li olan seçeneği seçin ve sayfanın en altındaki Tamam butonuna tıklayın. Sorun çözülmelidir.

Template Engine: TinyButStrong!

Bir site yapmaya başlıyorum. Birçok özelliğe sahip olacak. Sıfırdan yazmayı düşündüm ancak gördüm ki, birşeyleri yeniden keşfetmeye gerek yok. www.phpclasses.org adresinde, amacıma uygun onlarca sınıf var. Bu sınıfları kullanarak yapabilirim dedim kendime. Olması gereken de bu.
Çoğu kişi, sıfırdan yapmaya çalışır. Güzel de birşeydir aslında, kodun her kelimesinde kendi emeğinin olması. Ancak çok zaman alır ve günümüzde böyle bir lükse sahip değiliz.
İnternette paylaşıma sunulmuş binlerce hatta daha fazla sınıflar, kütüphaneler var ve bunlar kullanılarak oldukça güzel işler çıkarılabilir.
Ben de bu düşünceyle başladım projem ile ilgili sınıfları araştırmaya. Veritabanı sınıfı, kullanıcı yönetimi sınıfı, template sınıfı…
Template sınıflarından TBS ilgimi çekti. Tiny But Strong! Açılımı da güzel :)
İndirdim ve denemeye başladım. Oldukça ilginç ve güzel geldi. Sizin de denemenizi tavsiye ederim.

Web Adresi : http://www.tinybutstrong.com/
Yükleme Adresi : http://www.tinybutstrong.com/download/download.php?file=tbs_us.zip&sid=2
Manual : http://www.tinybutstrong.com/manual.php

PHP ve PDF!

Lazım oldu. Bununla ilgili bir proje gerçekleştirmem gerekiyor. “Nasıl yapayım, ne edeyim?” derken aklıma, raporlama kısmını PDF olarak hazırlatayım dedim. Oldukça da güzel bir fikir olarak geldi. Hemen çalışmaya, araştırmaya başladım.
Bütün araştırmalarımın sonucu, PDF dosyalarını PHP ile oluşturmak olarak çıktı karşıma. Ancak benim istediğim, varolan bir PDF dosyası içerisinde belirli alanlara yazı eklemekti.
Bunun için PDF dosyasının düzenlenmesi gerekiyordu. Ama bunu beceremeyeceğim dedim sonunda. Çünkü bütün kaynaklar, PDF oluşturmaya yönelikti. Ben de raporların çizgilerini v.s. baştan çizerek, PDF dosyasını baştan oluşturmaya yöneldim. Öncelikle PDF dosyasını PHP ile hazırlayabilmek için PHP’nin php_pdflib.dll eklentisini kullanayım dedim. Ancak internetten biraz araştırdım ve fpdf framework‘ünü kullanmaya karar verdim.
fpdf dosyalarını internetten indirdim. Ama aklımda hep, “varolan PDF şablon dosyasını düzenleyerek daha kolay ve kısa yoldan işlem yapma” isteği vardı. fpdf ile bunu yapabilecek miyim diye umutlanmaya başladım. Ancak bunun fpdf ile değil, fpdf i kullanan bir sınıf ile yapılabileceğini öğrendim. Hemen o sınıfı buldum ve indirdim. Bu indirdigim sınıf, FPDI adına sahip ve fpdf framework‘ü ile çalışıyor.

Herşey tamamdı. Şablon olarak, Microsoft Word 2007 ile bir PDF dosyası hazırladım ( PDF eklentisi aracılığı ile ). Herşey buraya kadar çok güzel geldi. Hatta Mustafa Berkan ismini de sorunsuz bir şekilde şablon dosyama yazdırıp ekranda gösterebildim ( Hafizada yazdırılıyor ve tarayıcıya gönderiliyor; yani şablon dosyasında herhangi bir değişiklik olmuyor. ). Ancak BİÇER olan soyadımı da yazdırmak isteyince, karakter uyumsuzluğu sorunuyla karşılaştım. Bu sınıf, Türkçe karakterleri gösteremiyordu.

Tüm herşey bitti! Hayır, bitmedi!

Hemen karakter dönüşümü ile ilgili araştırmalar yaptım ve en sonunda, kullanacağım Türkçe karakter destekli ttf formatındaki yazı tipini, bu sınıf ile kullanabilmek için gerekli şekilde programlarla işleyip, kodlarda iki satır değiştirdim.
Sonuç: Mükemmel!
Tam istediğim işlem gerçekleşti.

Teşekkürler PHP ekibi ve FPDF ile FPDI scriptlerini geliştiren ekipler!

Gerekli programlar :
fpdf
fpdi
ttf2pt1 ( İstediğiniz karakterleri içeren, ttf formatındaki dil dosyası )
makefont.php scripti ( fpdf framework dosyasında font klasörünün içerisinde makefont klasöründe mevcut )

PHP Dersleri

2006 yılının ağustos ayında yazmış olduğum PHP Dersleri’ni paylaşmak istedim. PHP’ye yeni başlayan arkadaşlara faydalı olur diye düşünüyorum.

Dersleri buradan indirebilirsiniz…

Facebook ve Youtube Videolarını İndirin!

Youtube ve facebook adreslerinde gezerken, gözünüze çeşitli güzel videolar çarpar. Bu bana sıkça olur. Bu videolara, internet olmadığı zamanda ya da her istediğim zaman bilgisayardan ulaşmak isterim. Bunun için de bir program yazdım. Hem facebook videolarını, hem de youtube videolarını bu program aracılığı ile indirebilirsiniz.

Program içerisinde ayrıca dil desteği de bulunmaktadır. Gelişmeye müsait bir yapıya sahip olan programa yakında format dönüştürme işlemi de ekleyebilirim. Programda hatalar çıkabilir. Bu hataları bana ulaştırırsanız sevinirim.

Aşağıda programın ekran görüntüsü, kaynak kodları ve kurulum dosyasına erişebilirsiniz.

Video Grabber

Kurulum Dosyası : http://www.bicers.com/code/videoGrabber_setup.rar (2,150 MB)
Kaynak Kodu : http://www.bicers.com/code/videoGrabber_code.zip (38 KB)

Not -1- : Facebook videolarını indirebilmek için, facebook web sitesinde oturum açmak gerekmektedir. Bunun için oturum bilgilerinizi girmeniz gerekmektedir. Hiçbir şekilde bu bilgileriniz toplanmamaktadır ve hiçbir yerde kaydedilmemekte/tutulmamaktadır. Kaynak kodlarını inceleyerek görebilirsiniz.
Not -2- : Bazen facebook videolarını indirirken Durum kısmında N/A yazacaktır. Bu durumda İndir! butonuna tekrar tıklamanız gerekmektedir.
Not -3- : Türkçe dil seçeneği de mevcut. Buna da, Tools>Language menüsünden erişebilirsiniz. Programı yeniden başlattıktan sonra istediğiniz dil açılacaktır.

C# ile Paralel Port Uygulaması

Bazen lojik 1 veya lojik 0 değerlerini kendimiz üretmek yerine, hazır üretilmişini kullanmak isteyebiliriz. Ya da bazı işlemler yapmak için hazır olan bir sistemi kullanmak isteyebiliriz. Bunun için de en uygun sistem, sanırım paralel port. Paralel portu kullanarak, belirli çıkışlara değer atayarak, lojik 1 veya lojik 0 değerlerini elde edebiliriz. Bunu da test edeceğimiz sistemlerde v.s. kullanabiliriz.

Artık siz de bu kodlarla, paralel port aracılığı ile istediğinizi yapabilirsiniz. İsterseniz bu verileri kullanarak bir mikro kontrolöre iş yaptırabilirsiniz.

Öncelikle aşağıdaki gibi bir tasarım yaptım. Siz de buna benzer bir tasarım yaparak ise başlayabilirsiniz.

C# ile Paralel Port Uygulaması

Oldukça basit olan bir tasarım. Bu tasarım için kodlara da pport (727 kb) ulaşabilirsiniz.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes