php etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
php etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

5 Mart 2010 Cuma

Google translate api - Php ile metin çeviri

Google Translate Api Kullanımı

Google translate dünyada metin çeviri hizmeti olarak tek tercih edilen hizmet diyebiliriz.web sitesi olan kişiler sitelerinde merin çeviri & translate hizmeti vermek istediklerinde google translate hizmeti yardımlarına koşuyor.İsteyen herkes google translate api anahtarı alarak google metin çeviri hizmetini web sayfalarında kullanabiliyorlar. Bu yazımda PHP kullanarak Google'ın nimetlerinden biri olan Google Translate API yardımıyla nasıl çeviri yaptırılır onu anlatacağım.
Neler yapacağımızı kısatla özetleyecek olursak;
* Öncelikle bir form oluşturacağız
* Formdan gelen veriyi Google Translate API kullanarak çevirecek olan PHP kodumuzu yazacağız.
* Daha sonra ise sayfa yüklemeye gerek kalmadan verileri PHP dosyasına aktarıp çeviriyi yaptırdıktan sonra veriyi çekip ekrana yazdıracak olan jQuery fonksiyonunu oluşturacağız.

İşe, çevirilecek metni yazacağımız bir textarea, metnin dilini ve metnin çevirileceği dili seçeceğimiz iki selectbox, bir gönder butonu ve bir de çevrilen metni yazdıracağımız alandan oluşan betiğimizin arayüzünü yazmakla başlıyoruz.

1.HTML
<div class="blok">
 <div class="girdi">
  <label>Çevirilecek Metin</label>
  <textarea name="metin" id="cevir"></textarea>
 </div>
    <div class="girdi">
  <label>Kaynak Dil</label>
  <select name="kaynak">
            <option value="af">Afrika Dili</option>
            <option value="de">Almanca</option>
            <option value="ar">Arapça</option>
            <option value="sq">Arnavutça</option>
            <option value="be">Belarusça</option>
            <option value="bg">Bulgarca</option>
            <option value="cs">Çekçe</option>
            <option value="zh-CN">Çince</option>
            <option value="da">Danca</option>
            <option value="id">Endonezya Dili</option>
            <option value="et">Estonyaca</option>
            <option value="fa">Farsça</option>
            <option value="nl">Felemenkçe</option>
            <option value="tl">Filipince</option>
            <option value="fi">Fince</option>
            <option value="fr">Fransızca</option>
            <option value="cy">Galce</option>
            <option value="gl">Galiçyaca</option>
            <option value="ht">Haiti Creole Dili ALPHA</option>
            <option value="hr">Hırvatça</option>
            <option value="hi">Hintçe</option>
            <option value="iw">İbranice</option>
            <option value="en">İngilizce</option>
            <option value="ga">İrlandaca</option>
            <option value="es">İspanyolca</option>
            <option value="sv">İsveçce</option>
            <option value="it">İtalyanca</option>
            <option value="is">İzlandaca</option>
            <option value="ja">Japonca</option>
            <option value="ca">Katalanca</option>
            <option value="ko">Korece</option>
            <option value="pl">Lehçe</option>
            <option value="lv">Letonca</option>
            <option value="lt">Litvanyaca</option>
            <option value="hu">Macarca</option>
            <option value="mk">Makedonca</option>
            <option value="ms">Malezya Dili</option>
            <option value="mt">Malta Dili</option>
            <option value="no">Norveçce</option>
            <option value="pt">Portekizce</option>
            <option value="ro">Romence</option>
            <option value="ru">Rusça</option>
            <option value="sr">Sırpça</option>
            <option value="sk">Slovakça</option>
            <option value="sl">Slovence</option>
            <option value="sw">Svahili</option>
            <option value="th">Tay Dili</option>
            <option value="tr">Türkçe</option>
            <option value="uk">Ukraynaca</option>
            <option value="vi">Vietnamca</option>
            <option value="yi">Yidce</option>
            <option value="el">Yunanca</option>
        </select>
        <label>Hedef Dil</label>
  <select name="hedef">
            <option value="af">Afrika Dili</option>
            <option value="de">Almanca</option>
            <option value="ar">Arapça</option>
            <option value="sq">Arnavutça</option>
            <option value="be">Belarusça</option>
            <option value="bg">Bulgarca</option>
            <option value="cs">Çekçe</option>
            <option value="zh-CN">Çince</option>
            <option value="da">Danca</option>
            <option value="id">Endonezya Dili</option>
            <option value="et">Estonyaca</option>
            <option value="fa">Farsça</option>
            <option value="nl">Felemenkçe</option>
            <option value="tl">Filipince</option>
            <option value="fi">Fince</option>
            <option value="fr">Fransızca</option>
            <option value="cy">Galce</option>
            <option value="gl">Galiçyaca</option>
            <option value="ht">Haiti Creole Dili ALPHA</option>
            <option value="hr">Hırvatça</option>
            <option value="hi">Hintçe</option>
            <option value="iw">İbranice</option>
            <option value="en">İngilizce</option>
            <option value="ga">İrlandaca</option>
            <option value="es">İspanyolca</option>
            <option value="sv">İsveçce</option>
            <option value="it">İtalyanca</option>
            <option value="is">İzlandaca</option>
            <option value="ja">Japonca</option>
            <option value="ca">Katalanca</option>
            <option value="ko">Korece</option>
            <option value="pl">Lehçe</option>
            <option value="lv">Letonca</option>
            <option value="lt">Litvanyaca</option>
            <option value="hu">Macarca</option>
            <option value="mk">Makedonca</option>
            <option value="ms">Malezya Dili</option>
            <option value="mt">Malta Dili</option>
            <option value="no">Norveçce</option>
            <option value="pt">Portekizce</option>
            <option value="ro">Romence</option>
            <option value="ru">Rusça</option>
            <option value="sr">Sırpça</option>
            <option value="sk">Slovakça</option>
            <option value="sl">Slovence</option>
            <option value="sw">Svahili</option>
            <option value="th">Tay Dili</option>
            <option value="tr">Türkçe</option>
            <option value="uk">Ukraynaca</option>
            <option value="vi">Vietnamca</option>
            <option value="yi">Yidce</option>
            <option value="el">Yunanca</option>
        </select>
 </div>
    <div class="girdi">
  <input type="submit" id="gonder"/>
 </div>
</div>
<div class="clear"></div>
<div class="ceviri">Çevirilen Metin:</div>
<div id="sonuc">Lütfen çevirilecek metni giriniz.</div>


Şimdi ise CSS kullanarak formumuzu şekillendiriyoruz.

2.CSS
body{
 font-family:"Trebuchet MS";
 font-size:12px;
 text-align:center;
 color:06F;
}
.clear {
 clear:both;
 margin-top:8px;
}
.blok {
 width:600px;
 margin:0 auto;
}
.girdi * {
 padding:5px; 
 margin:2px;
}
.girdi label {
 float:left; 
 width:125px;
 font-weight:bold;
}
.girdi textarea {
 float:left; 
 width:450px;
 padding:4px;
}
.girdi select {
 float:left; 
 width:152px;
 height:28px;
 padding:4px;
}
.girdi .uyari {
 border:2px solid #CC0000;
}
.girdi #gonder {
 text-align:center;
}
.ceviri {
 width:500px;
 margin:0 auto;
 padding-bottom:2px;
 font-weight:bold;
 border-bottom:1px solid #06F;
 text-align:left;
}
#sonuc {
 font-size:13px;
 padding:8px;
}


Sırada, çevirimizi sayfa yüklemeden yaptırmak için kullanacağımız javascript kodumuzu oluşturmak var. Bu kısımda işimizi kolaylaştırmak ve hızlandırmak için jQuery kütüphanesini kullanıyoruz. jQuery sitesinden bu kütüphaneyi indirip HTML dosyasına dahil etmeniz gerekmekte. Bu bölümde, az önce oluşturduğumuz formdan yollanan site adresi POST metodu ile translate.php dosyasına yollanacak ve gelen veri sonuç kısmında gösterilecek.

3.javascript
// Metin girilmeye başlandığında çeviriye başlıyoruz
$(document).ready(function(){
 $('#gonder').click( sonucAl );
});

// Çeviriyi yaptıracak olan fonksiyonumuz
function sonucAl()
{
 // Formdan gönderilen veriler
 var metin = $('textarea[name=metin]');
 var kaynak = $('select[name=kaynak]');
 var hedef = $('select[name=hedef]');
 
 // Çevirilecek metin girilmediyse uyarı veriliyor
 if (metin.val()=='') {
  metin.addClass('uyari');
  return false;
 } else metin.removeClass('uyari');
 
 // Sonuç kısmında veri alınana kadar yükleniyor işareti gösteriliyor
 $('#sonuc').html('<img src="yukleniyor.gif" border="0" alt="Yükleniyor" />');
 
 // Formdan gönderilen veri php dosyamıza yollanıyor
 $.ajax({
   type: 'POST',
   url: 'translate.php',
   data: 'metin=' + metin.val() + '&kaynak=' + kaynak.val() + '&hedef=' + hedef.val(),    
   success: function(sonuc) {
   $('#sonuc').html(sonuc);
   }
 });

 return false;
}


Son olarak formdan gönderilen veriyi işleyecek olan PHP betiğimizi kodlamak kaldı. Bu betikte formdan gönderilen metni ve dilleri alıyor ve CURL kütüphanesini kullanarak Google Translate API'ye bağlanarak çeviriyi yaptırıyoruz

4.PHP
<?php
header('Content-Type: text/html; charset=utf-8');

$kaynak = $_POST['kaynak'];
$hedef = $_POST['hedef'];
$diller = urlencode($kaynak.'|'.$hedef);
$metin = urlencode($_POST['metin']);
 
// Google'ın API çeviri URL'si
$url = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=".$metin."&langpair=".$diller;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://localhost/translate.php"); // Bu kısma translate.php dosyanızın bulunduğu kendi URL adresinizi yazınız
$body = curl_exec($ch);
curl_close($ch);
 
$json = json_decode($body, true);
echo $json['responseData']['translatedText'];
?>


Ve işlem tamam! Artık Google Translate API kullanarak çeviri yaptırabileceğimiz bir betiğimiz var.
Unutmadan hatırlatmakta fayda var. Eğer sunucunuzda PHP'nin CURL kütüphanesi yüklü değilse, betik API'ye bağlanamayacak ve sonuç olarak çalışmayacaktır. Bununla birlikte, PHP betiğinde kullandığımız json_decode fonksiyonu PHP 5 versiyonu ile birlikte gelen bir fonksiyon olduğu için, sunucunuzda bulunan PHP versiyonunun PHP 5 veya üstü versiyonlardan birisi olması gerekmektedir.kaynak

11 Şubat 2010 Perşembe

wp-config.php:1 ve pluggable.php on line 868 Hata Çözümü

wordpress wp config.php:1 ve pluggable.php on line 868 Hata Çözümü 868, çözüm, hata, line, on, php, pluggable, wp-config-php
Wordpress kurulumundan sonra bu hatayla karşılaşan varsa eğer çözümü çok basit!

Şu şekilde bir hata alıyorsanız!
“Warning: Cannot modify header information – headers already sent by (output started at /vhosts/safakkocaer.com/http/wp-config.php:1) in /vhosts/safakkocaer.com/http/wp-includes/pluggable.php on line 868″
Hatanın sebebi wp-config.php’nin ANSI formatında olmamasından kaynaklanıyor! Bunun için yapmanız gereken tek şey “Notepad ++” programını indirmek ve kurulumu tamamladıktan sonra “wp-config.php” dosyasını masaüstüne atıp şu işlemleri yapmak!
hata wp config.php:1 ve pluggable.php on line 868 Hata Çözümü
Daha sonra kaydedip tekrardan ftp adresinize atın sorun çözüldü!

25 Ocak 2010 Pazartesi

php programlamaya giriş örnekleri

basit php algoritmaları, basit php örnekleri php mantığı, php bilgilerini öğrenme, php ekrana merhaba yazdırma, php ile ilgili basit örnekler, php mantığını kavrama, php nedir, php nedir ne işe yarar, php programlamaya giriş örnekleri
PHP ile ilk programımız
Php sürümü, Çevre değişkenleri ile ilgili bilgilere aşağıdaki kodu metin editörü ile yazıp php.php alarak kaydedin ve önizlemesine bakarak görebilirsiniz.

http://pastebin.com/f6f4c8b43
Ve ilk Php scriptimizi de yazalım.

http://pastebin.com/f3a235ff1
merak ettiklerinizi buradan yazabilirsiniz..

22 Ocak 2010 Cuma

Html Php Css Eğitimi Tanımlamalar

HTML, HTTP, CSS ve PHP'nin açılımları
HTML  = Hyper Text Markup Language
HTTP   = Hyper Text Transfer Protocol
Css  = Cascading sheet styles
Php  = — Personal Homepage
            — HyperText preprocessor 




Eğitimcimiz Buğra Yüksel bir şey dedi 200 li yıllarda üniversitelerde web tasarımı sınavlarında sorulan bir soru varmış hatta bir kısaltma bunun açılımı nedir diye şimddi onu anlatmak istiyorum sizlere.
Kısaltmamız  WYSIWYG bu açılımı ise altta yazmakta. Manası ise daha önceden dreamweaver ,frontpage vb. görsel web sayfası düzenleyiciler yokmuş ms-dos ta derleyiceiler varmış sadece kod yazılabilen orada ne yazarsan onu alabiliyormuşsun fakat sonradan görsel düzenleyiciler çıkınca iş tamamen değişmiş tabi. Eskiden neyazarsan onu alırdın ama şimdi ise ne  görürsen onu alıyorsun yani ne yaparsan çıktısı o şekilde olacak.

WYSIWYG             = What You See Is (is) What You Get( Ne Görürsen onu Alırsın )


Basit fakat çok kullancağımız hatta olmassa olmazlardan olan  HTML terimleri  ve Açıklamaları
  •   tag                     = Etiket
  •                = Sayfa Hakkında Bilgilerin Barındırıldığı Alan
  •                 = Sayfanın Gövde Kısmı( Sayfa İçeriği )
  •                 = Aslında kesin bir anlamı yoktur fakat web sitesinin can alıcı noktalarından biri diyebiliriz.
  •                        = Web Sayfanızda Yazınızın Bi Alt Satıra Geçmenizi Sağlar

  •                   = Web Sayfanızda bi satır Boşluk Bırakmak için

  •                      = Web SAyfanızda Enter İçin kullanılır


 Html İçin İlk Adımlar ;
http://tinypaste.com/f8723

Arkadaşlar bu ilk adım olsun devamı gelecek

28 Nisan 2009 Salı

Asp.NET Nedir? Nasıl Yazılır? Niçin Yazılır?

Dinamik web siteleri oluşturmak adına kullanılan PHP, ASP gibi dillerden sonra, son teknoloji olarak Web dünyasında yerini alan bir dildir Asp.NET

Son zamanlarda, takip ettiğim forumlarda açılan konulardan sonra böyle bir makaleyi BilgiUstam ile paylaşmak istedim.

Bir kullanıcı sormuş; Asp.NET Öğrenmek için önce C# mı öğrenmeliyim VB.NET mi?

Asp.NET bir dil değil, çatıdır. C# ve VB.NET’ten herhangi birini bilmeniz Asp.NET ile proje geliştirebileceğiniz anlamına gelmektedir. Bu bağlamda öncelik, sonrası sırasından çok Hangisini Öğrenmeliyim kararı verilmelidir.

Günümüzde hâla süre gelen, kolaycılık çatışması, PHP’den Asp.NET e geçişi ne yazık ki önlemektedir. Kullanıcı yeni bir projeyi kendisi oluşturmak yerine varolan projeyi notepad ile açarak basit ortamlarda Bul/Değiştir mantığı ile düzenlemektedir.

Yine bir kullanıcımız soruyor : Elimde Asp.NET bir proje var. Bunu Visual Studio haricinde nasıl açabilirim?

Visual Studio, J#, C#, VB.NET dillerini bünyesinde barındıran, Asp.NET ile proje geliştirebileceğiniz, AJAX Extension destekli projeler oluşturabileceğiniz bir Microsoft uygulamasıdır. Microsoft’un tekelciliği bu konuda biraz ön plana çıkıyor. Benim dilimi ancak benim uygulamam ile açabilirsin mantalitesi yer buluyor kendine.

Asp.NET Yazmaya başlayacağım. Nerden Başlamalıyım?

Öncelikle kendinize bir Visual Studio Edinmelisiniz. Sonrasında, File / New Web Site seçenekleri ile yeni Web sitemizi oluşturuyoruz. Projelerimizde 2 seçeneğimiz bulunuyor. Code Behind ve Code Seperate. Bu seçenekler bize, ASP gibi aynı sayfa içersinde kod yazmamızı ya da kodlarımızı farklı bir dosya da saklamamızı sağlıyor.

C# Dilinde açtığımız bir Web Projesinde, Default.aspx sayfası kodlarını Default.aspx.cs dosyasında saklayacaktır. Aynı şekilde VB.NET dilinde açtığımız bir web projesi de Default.aspx.vb dosyasında saklayacaktır. Böylece hem kodlarımız düzenli durumda olacak, hemde Performansımızı etkilemeyecektir. Sayfa yorumlamaya gelen Browser web sunucudan sadece ihtiyacı olan kısmı isteyecektir. 25000 satırlık bir Code Behind sayfa yerine ihtiyacı olan kısmı okuyarak kalan kodları gerektiğinde kullanacaktır.

MasterPage Kavramı Nedir?

PHP ve ASP sayfalarımızda, include’lar ile birçoğumuz çalıştık. include header,include footer onu çağır bunu çağır… MasterPage kavramına kadar geldik.

Bir MasterPage (Şablon) Ekliyoruz. Alt sayfaların açılmasını istediğimiz bölümü seçiyoruz. Hepsi bu. Sayfalarımızı eklerken “Select Master Page” seçeneği ile Master yolunu gösteriyoruz. Artık tüm sayfalarımız aynı şablon içersinde ve kullanımı için 1 satır kod bile yazmadık.

İyi ama nasıl çalıştıracağız?

Asp.NET ile geliştirdiğiniz sayfayı, F5 ile hem build edip, hem hatalarınızı görüp, hem çalıştırabilirsiniz.

Fakat bende IIS Kurulu değil? Üstelik XP Home Edition Kullanıyorum?

Visual Studio, sizin ne kullandığınızı önemsemiyor. Kendisi sanal bir sunucu oluşturarak, Random bir port atıyor. Bu port üzerinden, hem bilgisayarınızı hem sizi yormadan projenizi browse ediyorsunuz