Archive

Archive for the ‘Php’ Category

İşletim sistemi tespiti

Herkese selamlar. Bazı durumlarda php betiklerimizin windows için ayrı linux için ayrı işlem yaptırmak isteyebiliriz. Bunun için ufak bir fonksiyonla bunun altından kalkabilirsiz.

  1. function isletimsistemiwindowsmu()
  2. {
  3. if (stristr($_SERVER['HTTP_USER_AGENT'],‘windows’))
  4. return true;
  5. else
  6. return false;
  7. }

Bu kod yardımı ile eğer sistem windows ise true windows haricinde bir işletim sistemi ise false değerini göndermektedir…

PHP nedir? PHP’ye nereden ve nasıl başlamalı?

PHP Nedir?


PHP sunucu tabanlı html içine gömülmüş (html-embed) bir betik(script) dilidir. Daha açık bir anlatım ile, internetteki forum, anket, oyunlar, mesaj tahtaları gibi kullanıcının aktif bir şekilde müdahalede bulunduğu yapıları oluşturmaya yarayan web programlama dillerinden biridir. PHP ile inanılmaz yetenekli, yazılımsal sayfalar oluşturabilirsiniz. Örnek olarak burada dökümanlara puan verebiliyor, kaç kişinin okuduğunu görebiliyorsunuz. Veya forumda istediğinizi yazıp cevaplar alabiliyorsunuz. Bunlar dinamik olarak kullanıcının hareket/isteklerine göre değim gösteriyor. Bunlar php ile yapabileceğiniz basit uygulamalar. Çok daha karmaşıklarını da görmüşsünüzdür/yapabilirsiniz. PHP dili C, Java ve Perl dilleri üzerinde geliştirildiğinden bu dilleri bilen arkadaşların php‘yi öğrenmeleri zor olmayacaktır.

PHP‘ye Nereden Ve Nasıl Başlamalı?


PHP‘ye bence başlamanın iki yolu var. Eğer zaman çok önemli değilse, internetteki makaleleri inceleleyerek bol bol basit ve fonksiyonel kodlar yazmak. Bu sayede kodlardaki hatalarla uğraşırken, farklı yöntemler ararken inanılmaz bir pratik ve php bilgisi kazanırsınız. Kendiniz kodlar üreterek de php‘yi daha iyi sindirerek öğrenmiş olursunuz.

İkinci yol ise zamanı kısıtlı ve/veya bir an önce öğrenmek isteyenlere… Öncelikle bir kitabevine gidip 1-2 saat php kitaplarını inceleyin. Aralarında en güzel ve en kolay öğreneceğinizi düşündüğünüz kitabı alın. Aslında kapağını sevmeniz bile yeterli. Zira hepsinin içeriği hemen hemen yakın ve giriş seviyesi için teorik bilgi dışında çok fazla uygulama içermiyorlar. Kitaptakileri teker teker uygulayın. Örnek kodları yazarak işin püf ve teorik genel kısımlarını öğrenmiş olursunuz. Bundan sonra internetteki makaleleri okuyarak php‘nin içine girebilirsiniz. Kitapta öğendikleriniz php‘nin “p”sini bile oluşturmaz. Çünkü php açık kaynak bir dil olduğundan, sürekli yeni kütüphaneler, her yeni kütüphane içinde yüzlerce yeni fonksiyon gelir. Şu anda php manual’daki fonksiyonların sayısı benim göz kararım ile 3-5 bin civarındadır. (Sadece listeye bir göz atmıştım.) Bu fonksiyonların hepsini öğrenmek için ne beyin dayanır ne de göz. İşinize yarayacak kütüphaneleri ve fonksiyonları öğrenmeniz için php ile neler yapılabilir? sorusunun yanıtısı iyi bulmanız gerekir.
PHP ile önereceğim kısımlar şimdilik bunlar; her iki yolda da interneti iyi kullanıp php manual’ı iyi kullanmanızı öneririm.

Hazırlayan : Mehmet Fatih YILDIZ

Php ile FCKeditor Kullanımı

Bu yazımda, FCKeditor kullanılarak blogumsu bir scriptin Php ile nasıl geliştirilebileceğini anlatacağım. FCKeditor’un neler yapabildiğini görebilmek için buraya bakabilirsiniz.

Hazırlayacağımız script, blogumsu bir script olduğundan, renkli yazılar, fotoğraflar, tablolar kullanabilmemiz gerekecek(Aşağıda görüldüğü gibi). İşte bu özellikleri bize FCKeditor sağlayacak.

Öncelikle FCkeditor’un şu anki en son sürüm olan FCKeditor 2.5’u bu adresten indirerek başlıyoruz. Ayrıca yazının sonundaki örneği indirirseniz, bu dosya da FCKeditor 2.5′yi içeriyor.

Ben Php ile kod yazarken WampServer kullanıyorum. WampServer’da root klasörüm D’nin altındaki wamp\www klasörü. İlk önce bu klasör içinde blog isimli bir klasör oluşturarak işe başlıyorum. Daha sonra internetten indirip açtığım FCKeditor’ü de bu blog klasörünün içine kopyalıyorum. FCKeditor ile upload edeceğim dosyalar için de upload isimli bir klasörü, blog klasörünün içinde oluşturuyorum.

Şimdi de veritabanını oluşturmamız gerekiyor. Veritabanını oluşturmak için yine WampServer ile beraber kurulan phpMyAdmin yazılımını kullanacağım. phpMyAdmin’in açtıktan sonra blog isimli bir veritabanını aşağıdaki ayarlarla oluşturuyorum(İkinci bir yol olarak, örnek dosya içindeki blog.sql’i phpMyAdmin’e yükleyebilirsiniz).

Daha sonra Yapı düğmesine tıklayarak veritabanında defter isimli bir tablo oluşturacağımı ve bu tablonun beş alandan oluşan bir kayıt deseni olacağını belirtiyorum.

Yukarıdaki ekran görüntüsünden de görüleceği gibi defter tablosunda id(INT), baslik(VARCHAR 150), yazi(TEXT), tarih(VARCHAR 10) ve yazar(VARCHAR 50) alanları var. id alanı birinci anahtar ve Auto Increment özelliğine sahip. Tablonun Depolama Motorunu MyISAM, karşılaştırmasını ise latin5_turkish_ci seçerek veritabanını oluşturma işlemini tamamlıyorum.

Bundan sonraki aşamada PhpKodUreteci ile scriptin yönetim panelini oluşturup admin.php adıyla blog klasörünün içine kaydediyorum.

FCKeditor hemen her dile destek verdiğinden Php için gerekmeyen bazı dosyaları da içeriyor. Aşağıdaki ekran görüntüsünde nerede bulundukları görülen bu dosyaları siliyoruz.

FCKeditor’le gelen örneklerin içinde de Php’yi ilgilendirmeyen dosyalar var. Aşağıdaki ekran görüntüsünde yerleri belli olan bu dosyaları da silebiliriz.

FCKeditor’ün Php kısmıyla ilgili ayarları yapabilmek için aşağıdaki ekran görüntüsünde yolda bulunan config.php dosyasını açıyoruz.

Bu dosyanın 30. Satırındaki $Config['Enabled'] = false ; satırını $Config['Enabled'] = true ; olarak değiştiriyoruz. Aynı dosyanın 34. Satırındaki $Config['UserFilesPath'] = ‘/userfiles/’ ; satırını da $Config['UserFilesPath'] = ‘ /blog/upload/’ ; olarak değiştirip, config.php dosyasını kaydediyoruz.

FCKeditor ile ilgili yapmamız gereken ayarlar bunlar. Şimdi FCKeditor’ü kendi scriptimizde nasıl kullanacağımızı görelim. FCKeditor’ün dosyalarını scriptimize include ederek işe başlıyoruz. Bunu yapabilmek için ilgili script dosyasını açıp include(”fckeditor/fckeditor.php”); satırını ekliyoruz.

FCKeditor’u form alanına yerleştirmeden önce, aşağıdaki ayarın yapılması gerekiyor.

  1. $yol=pathinfo($sayfaadi);
  2. $sadesayfaadi=$yol['basename'];
  3. $yol=substr($sayfaadi,0,strlen($sadesayfaadi)*-1).‘fckeditor/’;
  4. $oFCKeditor=new FCKeditor(‘yazi’);
  5. $oFCKeditor->BasePath=$yol;

Scriptlerde genelde uzun içerikler aşağıdaki koddaki gibi textarea ile girilir.

  1. <tr>
  2. <td>yazi:</td>
  3. <td><textarea row=“10″ cols=“25″ name=“yazi” id=“yazi”></textarea></td>
  4. </tr>

Bu ifadeyi aşağıdaki hale gelecek şekilde düzenliyoruz:

  1. <tr>
  2. <td>yazi:</td>
  3. <td>
  4. son3;
  5. $oFCKeditor->Create()

FCKeditor’ü, scriptimizin düzeltme bölümünde kullandığımızda, veritabanındaki değeri de göstermesi gerekecek. Bunu da $oFCKeditor->Value=$yazi; satırını scripte ekleyerek sağlıyoruz.

FCKeditor, bir htm editorü olduğundan, formu gönderdiğimizde html tag’larının silinmemesi gerekiyor. Yani FCKeditor’den dönen değerleri strip_tags vs. fonksiyonlardan geçirmiyoruz.

Bazen FCKeditor’un sağladığı tüm özelliklere ihtiyaç duymayabiliriz. Daha sade seçenekler kullanmak isteyebiliriz.

Bunu yapabilmek için D:\wamp\www\blog\fckeditor klasöründe yer alan fckconfig.js dosyasındaki 114-116. satırlar arasındaki aşağıdaki kodlar değiştirilerek, Basic Toolbar seçildiğinde hangi seçeneklerin ekranda görüneceği ayarlanabilir.

  1. FCKConfig.ToolbarSets["Basic"] = [
  2. ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']
  3. ] ;

Eğer FCKeditor’u bu basic toolbar ile kullanmak istersek aşağıdaki kodları yazarız.

  1. $oFCKeditor1=new FCKeditor(‘baslik’);
  2. $oFCKeditor1->BasePath=$yol;
  3. $oFCKeditor1->ToolbarSet=‘Basic’;

Yine örnek dosyalarımızın içindeki admin2.php dosyasında, bir formda iki FCKeditor’ün nasıl kullanılabileceğini görebilirsiniz.

Buradan örnek scripti indirebilirsiniz.