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.

Step Motor Kontrolü

Bu projede, 4×20 LCD, PIC16F877A, 4×3 Tuş Takımı ile hazırlanan devre ile bir adet unipolar step motorun kontrolü gerçekleştiriliyor.
Bu proje beni biraz uğraştırdı aslında. printf() komutunun ve eeprom ile ilgili komutların ( ccs c ) çok sık kullanımı ve tuş takımından veri alınması, rom kullanımını oldukça yüksek değerlere çıkarıyordu ve bir yerden sonra program devam ettirilemiyordu ( yazım işlemi ). Uğraştırdı, kodları yeniden modifiye etmem gerekti. Ama sonunda güzel bir proje ortaya çıktı.

Fotoğraflar:

Proteus simülasyonuna ve hex dosyasına buradan erişebilirsiniz.

Işığa Duyarlı Araba

Yrd.Doç.Dr. Yavuz EROL hocamızın Bilim ve Teknik dergisinde yayımladığı yazısında, ışığa doğru hareket eden arabanın sıfırdan yapım aşamaları mevcuttu. Ben de o yazıda yer alan arabadan yapayım dedim ve anlatılanları aynen yaptım. Oldukça güzel bir sonuç elde ettim. Araba kısmı ile devre kısmını ayrı ayrı yaptım. Aradaki tek bağlantı, motorların devreye olan bağlantısı.
Bu şekilde ayrı ayrı yapmam, araba kısmının daha başka arabalı projelerde kullanılmasını sağlıyor. Bu araba kısmını daha sonra yapacağım “önündeki cismi izleyen araba, engeli görünce duran araba, önündeki cismi belirli mesafeden takip eden araba, uzaktan kumandalı araba, çizgi izleyen araba…” şeklinde projelerde kullanacağım. Yakında bu projelere de sitem üzerinden erişebileceksiniz.
Projenin yapımı ve çalışması ile ilgili videoyu aşağıda izleyebilirsiniz.

Get the Flash Player to see this player.

Projenin sayfasına buradan erişebilirsiniz.

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

Uzun bir ara…

Uzun bir aradan sonra yine buradayım. Ara ara gelip gidiyorum işte!
Bu aranın sebebi, okulun bitmesi ve yaz tatili dolayısı ile mezuniyetin de birleşmesi sonucu bir rahatlama olması; bu rahatlamanın köyde bulunmamla pekişmesi sonucu buradan geçen uzun zamanların meydana gelmesi…

Ayrıca daha sonra açık öğretim bütünlemelerine çalışmam gerekti. Ve yine yüksek lisans ile ilgili işlemlerle uğraşmam gerekti. Yüksek lisans işi tamam oldu. Bütünlemelerin sonucunun açıklanmasını bekliyorum.

Aranın sebepleri bunlardı. Şimdi bilgisayar kısmında bir portal, elektronik kısmında bir usb osiloskop ve programlanabilir kontrolör tasarımı ile zaman geçiriyorum. Bu projeler de geliştikçe parça parça burada paylaşacağım.

Bu konularda yardımcı olmak isteyenler, benimle iletişime geçebilirler :)

PIC16F877A, Servo Motor ve LCD!

Yeniden merhaba!
Bir süredir ne yazacağımı bulamadığım için birşeyler yazamadım. Ancak bu süre içerisinde de okula gidip geldim :) Ayrıca PIC ile de uğraştim. Bu aralar en çok uğraştığım şey, yeni almış olduğum hobi servo motorum. O kadar küçük ki ( 9 gr, 21×12×22 mm ), kargoyla geldiği anda çok şaşırdım, “bu kadar küçük bir motor muydu verdiğim sipariş!” diye. Ancak devremi tasarlayıp çalıştırdığımda, küçük boyutuna rağmen hakkını veriyordu, yaptırdığım işin.

Özellikleri ise şöyle :
Model : HXT900
Boyut : 21×12×22 mm / 0.74×0.42×0.78 in
Çalışma Gerilimi : 3v ~ 6v
Ağırlık : 9g / 0.32oz
Hız : 0.12 saniye/60(4.8V)
Tork : 1.6 kg-cm
Çalışma Sıcaklığı : -30C~60C

Öncelikle ilk geldiğinde, sadece 3 buton ile sağ, sol ve orta pozisyonlara getirmeyi denedim. Güzel de çalıştı. Daha sonra, “istediğim açıyı yapabilir mi?” diye düşündüm ve biraz da bu fikri geliştirerek, CCS C ile programımı yazdım ve devremi hazırladım. Oldukça güzel çalıştı.

Projenin fotoğraflarına ve videosuna aşağıdan ulaşabilirsiniz.Servo 1Servo 2

Servo 3

Video :

Get the Flash Player to see this player.

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şsey 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.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes