Php ile txt dosyasından veri okuma

Arkadaşlar bunu yapmak çok basit

$file = @file("dosya.txt"); 
for ($i = 0; $i < count($file); $i++) { 
    echo $file[$i]."<br/>"; 
}  

bu kod ile dosya.txt dosyasındaki verileri çekebilirsiniz. Ayrıca diyelimki txt dosyasına dayalı bir anket yaptınız ve içerisinde evet hayır oyları mevcut bu yöntemi kullanarak içerisinde ne kadar evet var ne kadar hayır var öğrenmek istiyorsunuz. Onun için de kodları şu şekilde düzenleyebiliriz.

$file = @file("dosya.txt");
$evet = 0;
$hayir= 0;
for ($i = 0; $i < count($file); $i++) {
    if(trim($file[$i])=="evet"){
        $evet = $evet + 1;
    }elseif(trim($file[$i])=="hayir"){
        $hayir = $hayir + 1;
    }
}

bu yöntem sayesinde $evet ve $hayir değişkenlerine gerekli sayısal değerleri atamış olduk.

Okindir.tk – Ok.ru’dan video indirmek

Okindir.tk kullanımı hakkındaki konu için tıklayın.

Ok.ru’nun video sisteminde ufak bir değişiklik yapma sebebiyle okindir.tk üzerindeki kurulu sistem birkaç gündür çalışmıyordu. O sorunu henüz halledebildim. Yeni sistem çok daha hızlı çünkü boyut hesaplama sistemini kaldırdım, ben bu şeklini daha çok beğendim inşallah siz de beğenirsiniz.

Benzer altyapıyla kurulu vkindir.tk sitesinde bir sorun bulunmamaktadır fakat olur da sorunla karşılaşırsanız facebook adresimden bana ulaşabilirsiniz.

Son olarak veda ederken de Sagopa Kajmer’in Kürdan Kollar şarkısını sizlerle paylaşmak istiyorum. Konuyla alakasız olsa da tavsiyemdir dinleyin.

Ok.ru’dan Video İndirmek

Programsız bir şekilde ok.ru’nun mobil sitesinden video indirme yöntemi için buraya tıklayın.

Düzenleme 1 Aralık 2015. Ok.ru sitesindeki değişikliklerden dolayı sitede bazı sorunlar var bunları düzeltmeye çalışıyorum yakında umarım site sorunsuz bir şekilde çalışıyor olacak.

Vk.com da ve mail.ru da yaşanan sıkıntılardan sonra videolar ok.ru’ya da yüklenmeye başlandı. Ben de ok.ru’ya yüklenen videoları da kullanıcıların indirebilmesi için vkindir.tk tarzı bir site yaptım. Kullanımı gayet basit. Aşağıda kullanımı konusunda bilgi veren resimler yeralmakta. Siteye www.okindir.tk adresinden ulaşabilirsiniz.

okindir.tk sorunları ve çözümleri için buraya tıklayarak diğer yazıya bakabilirsiniz..

kullanim1 kullanim2

kodu kopyaladıktan sonra sitede gerekli yere yapıştırıp indir tuşuna basmanız yeterli.

Php Çoklu Dil Desteği

Merhaba arkadaşlar, bu yazımda anlatmak istediğim çoklu dil desteği konusu. Daha önce Codeigniter’da çoklu dil konusuna değinmiştim. O yazıya buraya tıklayarak ulaşabilirsiniz.

Diyelimki bir websiteniz var ve çoklu dil desteği yapmak istiyorsunuz. Size gerekli olan şeyler; dil dosyası, o dil dosyasına göre uyarlanmış bir web sayfası ve hangi dili seçeceğinizi belirleyeceğiniz bir fonksiyon sayfası. Örnek bir sayfamız olsun aşağıdaki gibi

//index.php
 <html>
 <head>
 <title>Ali İhsan Candemir Kişisel Web Sayfası</title>
 </head>
 <body>
 Hoşgeldiniz.
 </body>
 </html>

Biz elimizdeki bu sayfayı gelen ziyaretçinin tarayıcı diline duyarlı olacak şekilde değiştireceğiz. Bize gereken bir de dil dosyaları

//tr.php
<?php
$dil['baslik'] = "Ali İhsan Candemir Kişisel Web Sayfası";
$dil['icerik'] = "Hoşgeldiniz.";
?>
//en.php
<?php
$dil['baslik'] = "Ali İhsan Candemir Personal Web Page";
$dil['icerik'] = "Welcome";
?>

Şimdi index.php sayfamızı dil dosyasına uygun olacak şekilde ayarlayalım.

//index.php
 <html>
 <head>
 <title><?=$dil['baslik']?></title>
 </head>
 <body>
 <?=$dil['icerik']?>
 </body>
 </html>

Şimdi de gelen ziyaretçinin tarayıcı dilini alıp ona göre yönlendirme yapmak için yeni bir sayfa oluşturuyoruz.

//fonksiyon.php
<?php
require_once 'lang/'. dilYonlendir() .'.php'; // dilSec fonksiyonundan dönen bilgiye göre dil dosyasını ekliyoruz.
function dilSec(){
//Burada tarayıcı dilini alıyoruz
$dil = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
if($dil!="" && file_exists("lang/".$dil.".php")){  //dil dosyasının olup olmadığını denetliyoruz
$language = $dil;
}else{
$language = "en";
}
return $language; 
}
?>

Ve tabi fonksiyon sayfasını da index.php sayfamıza ekliyoruz.

//index.php
require_once 'fonksiyon.php';
 <html>
 <head>
 <title><?=$dil['baslik']?></title>
 </head>
 <body>
 <?=$dil['icerik']?>
 </body>
 </html>

Diyelimki siz kullanıcıya dil seçeneği de sunmak istiyorsunuz. Onu yapmak için öncelikle index.php sayfamızda dil seçmek için linkler oluşturmamız gerekiyor.

//index.php
require_once 'fonksiyon.php';
 <html>
 <head>
 <title><?=$dil['baslik']?></title>
 </head>
 <body>
<a href="?dil=turkce">Türkçe</a> - <a href="?dil=ingilizce">İngilizce</a><br />
 <?=$dil['icerik']?>
 </body>
 </html>

Gördüğünüz gibi iki tane link ekledik biri türkçe diğeri ingilizce için. Şimdi bu koyduğumuz linkleri fonksiyon sayfasının anlayabilmesini sağlıyoruz. Bunun için yeni bir fonksiyon yazıyoruz .

//fonksiyon.php
<?php
//Burada da değişiklik yapmak zorundayız eğer linke tıklandıysa önceliği ona vermemiz gerekli 

if($_GET['language']){ //Eğer linke tıklandıysa ona göre dil seç
 require_once 'lang/'. dilYonlendir() .'.php';
}else{ // tıklanmadıysa tarayıcı diline göre dil seç
 require_once 'lang/'. dilSec() .'.php';
}

function dilSec(){ // Bu otomatik tarayıcı dilini algılamak için olan fonksiyon
//Burada tarayıcı dilini alıyoruz
$dil = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
if($dil!="" && file_exists("lang/".$dil.".php")){  //dil dosyasının olup olmadığını denetliyoruz
$language = $dil;
}else{
$language = "en";
}
return $language; 
}

function dilYonlendir(){
 $dil = strip_tags($_GET['language']); //index.php sayfasından Get ile gönderdiğimiz dil bilgisini alıyoruz.
 if($dil!="" && file_exists("lang/".$dil.".php")){ //Dil dosyasını ve dil değişkeninin boş olup olmadığını denetliyoruz.
 $language = $dil;
 }else{
 $language = "en";
 }
 return $language;
}
?>

Böylelikle çoklu dil desteği olan bir web sayfası yapmış olduk. Ana mantık bu, sonrasında kendinize göre pratik çözümler kullanabilirsiniz.

Netbeans IDE

Uzun zamandır oturup adam akıllı kod yazmıyordum. Bir haftadır yoğun bir şekilde tekrardan kod yazmaya başladım. Yeni bir projem var ona vakit ayırıyorum bu sıralar. Codeigniter altyapısını kullanıyorum zaten kendimi de Codeigniter’da geliştirmek istiyordum.

Genel olarak projelerimi kodlarken Notepad++ kullanırdım fakat Codeigniter MVC düzeninde bir yapı olduğu için notepad++ biraz zorluyordu beni. Bende programı değiştirmeye karar verdim. Birbiriyle bağlantılı birçok dosyayla çalışmak biraz can sıkıcı olabiliyor. Netbeans programı buna oldukça kolaylık getiriyor. Proje tabanlı bir yapıya sahip olması ve özellikle files çerçevesi sayesinde dosyalar arası geçiş oldukça kolaylaşıyor. Öncesinde çok sıkıntı çektiğim birçok konuda Netbeans bana kolaylık sağladı ve çok fazla dosyayla uğraştığınız projeler varsa sizlere Netbeans programını tavsiye ederim. Aşağıdaki linkten programın download sayfasına ulaşabilirsiniz ücretsiz programdır.

Netbeans IDE Download

Codeigniter’da Çoklu Dil Desteği

Aslında şuan Karadayı izliyo olucaktım ama topluma faydalı birşey yapıyım dedim 🙂 Diyelimki bir website yapıyorsunuz ve facebook ya da google gibi kullanıcıya göre dil göstermek istiyorsunuz. Eğer kullanıcı Türkiye’dense Türkçe İngiliteredense İngilizce gösterilsin. Tabiki bunun için öncesinde dil dosyalarınızın olması gerekiyor.

Codeigniter ilk olarak dil dosyalarına ulaşmak için application/language klasörü içerisine daha sonra da system/language klasörü içerisine bakar. Tabiki application/language içerisinde dil dosyasına ulaşırsa system/language konumuna hiç bakmaz.

Dil dosyalarımızın şekli şu şekilde olmalı. Diyelimki websitenizde Türkçe dil desteği ve İngilizce dil desteği vericeksiniz. Bunun için application/language içerisine turkish ve english adında iki klasör açıyorsunuz. Daha sonra turkish klasörüne index_lang.php, english klasörün içerisine de index_lang.php adında bir dosya oluşturuyorsunuz. Yani dikkat çekmek istediğim nokta dil dosyalarının sonuna _lang ekini getiriyorsunuz ve dil dosyaları kesinlikle dil klasörünün içerisinde olmalı. Tıpkı index_lang.php dosyası gibi menu_lang.php sidebar_lang.php tarzında dil dosyalarınızı parçalara ayırabilirsiniz. Örnek bir dil dosyası içeriği şu şekildedir :

<?php
$lang['home'] = 'Ana Sayfa';
$lang['aboutus'] = 'Hakkımızda';
$lang['contact'] = 'İletişim';
?>

sonrasında bunu controller dosyasında çağırmak için şu yapıyı kullanıyorsunuz.

$this->lang->load('home', 'turkish');

ya da

$this->lang->load('home', 'english');

Bu şekilde sayfalarınıza dil dosyası ekleyebiliryosunuz. Peki nasıl kullanıcaksınız onu da göstereyim.

$data['home']            =   $this->lang->line('home');
$this->load->view('index',$data);

bu şekilde home değişkenine dil dosyasından home‘un karşılığı olan Ana Sayfa bilgisini atamış olduk. Yani sayfasımızda daha doğrusu index.php view dosyamızda bunu şu şekilde kullanabiliriz.

<?php
echo $home;
?>

Bu normal dil dosyasıyla çalışma şekli. Peki biz kullanıcıya göre dili değiştirmek istiyorsak ne yapmalıyız. Öncelikle şu bilgiyi veriyim. Kullanıcının hangi ülkeden geldiğini bulmanın bir çok yolu var. Fakat ben bu işlem için kolay bir yöntem olan tarayıcı dilini kullanıcam. Yani mantık şu eğer siteye gelen kullanıcının tarayıcısının dili ingilizce ise dil ingilizce türkçe ise dil türkçe olsun.

Bu işlem için öncelikle bir helper oluşturuyoruz. Helper kullanımı hakkında bilginiz olduğunu varsayarak anlatmaya devam ediyorum. Helper dosyamızın içerisinde şu kodlar olacak:

<?php
function lg_select(){
 $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if($lg=='tr'){
 return $language = 'turkish';
 }
 elseif($lg=='en'){
 return $language = 'english';
 }
 }
?>

Bu fonksiyon ile şunu yaptık tarayıcının dilinin kodunu aldık bize şu şekilde sonuç verecektir: türkçe ise tr, ingilizce ise en. ben yalnızca türkçe ve ingilizce için if sorgulaması yaptım. Aşağıda bütün ülke kodlarını görebilirsiniz.

Şimdi bunu controller sayfamızda kullanalım config/autoload ayarından şunu yapalım

$autoload['helper'] = array('url','lg_select');

ve az önce kullanmış olduğumuz şu kodu:

$this->lang->load('home', 'english');

şu şekilde yazalım

$this->lang->load('home', lg_select());

Bu şekilde sayfaya giren kullanıcının tarayısına göre dil seçimini yapmış oluyoruz.
[AB] Çerkez Dili (Abhaz)

 [AA] Afar
 [AF] Afrikanca (Hollanda Lehçesi)
 [SQ] Arnavutça
 [AM] Habeşistan Dili
 [AR] Arapça
 [HY] Ermenice
 [AX] Asur Dili
 [AZ] Azerice
 [EU] Baskça
 [BN] Bengalli
 [DZ] Bhutanlı dili
 [BH] Bihar dili
 [NB] Bokmål Norwegian
 [BS] Boşnakça
 [Br] Brazilian Portuguese
 [BG] Bulgarca
 [MY] Burmese
 [BE] Byelorussian
 [KM] Kamboçyaca
 [CC] Cantonese
 [VC] Cape Verdean Creole
 [CA] Catalan
 [Cb] Cebuano
 [CH] Chamorro
 [CE] Chechen
 [ZH] Çince
 [CK] Chuukese
 [CV] Chuvash
 [KW] Cornish
 [CO] Corsican
 [HR] Croatian
 [CS] Czech
 [DA] Danca
 [PG] Dari (Afghan Persian)
 [NL] Flemence
 [EN] English
 [EO] Esperanto
 [ET] Estonian
 [FO] Faroese
 [FA] Farsi
 [FJ] Fiji
 [FI] Finnish
 [Fl] Flemish
 [FR] French
 [FY] Frisian
 [GL] Galician
 [KA] Georgian
 [DE] Almanca
 [EL] Yunanca
 [KL] Greenlandic
 [GN] Guaraní
 [GU] Gujarati
 [HC] Haitian Creole
 [HA] Hausa
 [IW] Hebrew
 [HZ] Herero
 [Hl] Hiligaynon
 [HI] Hindi
 [HO] Hiri Motu
 [HM] Hmong
 [HU] Hungarian
 [Ib] Iban
 [IS] Icelandic
 [IL] Ilocano
 [ID] Indonesian
 [IA] Interlingua
 [IU] Inuktitut
 [IK] Inupiak
 [GA] Irish (Gaelic)
 [IT] İtalyanca
 [JA] Japonca
 [JW] Javanese
 [KN] Kannada
 [KS] Kashmiri
 [KK] Kazakça
 [KI] Kikuyu
 [RW] Kinyaruanda
 [KY] Kırgızca
 [RN] Kirundi
 [KV] Komi
 [KO] Korece
 [KP] Kpelle
 [KU] Kürtçe
 [LO] Lao
 [LA] Latin
 [LV] Latvian
 [LN] Lingala
 [LT] Lithuanian
 [LB] Lüksemburg Dili
 [MK] Makedonca
 [MG] Malagasy
 [MS] Malayca
 [ML] Malayalam
 [MT] Malta Dili
 [CM] Mandarin
 [GV] Manx Gaelic
 [MI] Maori
 [MR] Marathi
 [MH] Marshallese
 [MO] Moldavian
 [MN] Mongolian
 [NA] Nauru
 [NV] Navajo
 [NG] Ndonga
 [NE] Nepali
 [NI] Nijerya Dili
 [ND] North
 [NO] Norveççe
 [NY] Nyanja
 [NN] Nynorsk Norwegian
 [OC] Occitan
 [OR] Oriya
 [OM] Oromo
 [OS] Ossetian
 [PI] Pali
 [Pn] Pananyano
 [Pp] Papiamiento
 [PS] Pashto
 [PL] Lehçe (Polonezce de diye biliniyor)
 [PT] Portuguese
 [PA] Punjabi
 [QU] Quechua
 [RO] Romence
 [RU] Rusça
 [SE] Sámi
 [SM] Samoan
 [SG] Sangho
 [SA] Sanskrit
 [SC] Sardinian
 [GD] Scots Gaelic
 [SR] Sırpça
 [SH] Serbo-Croat
 [ST] Sesotho
 [TN] Setswana
 [SN] Shona
 [SD] Sindhi
 [SI] Sinhalese
 [SS] Siswati
 [SK] Slovak
 [SL] Slovence
 [SO] Somali Dili
 [NR] South Ndebele
 [ES] İspanyolca
 [SU] Sundanese
 [SW] Swahili
 [SV] İsveççe
 [TL] Tagalog
 [TY] Tahitian
 [TG] Tajik
 [TM] Tamil
 [TT] Tatar
 [TE] Telugu
 [TH] Thai
 [BO] Tibetan
 [TI] Tigrinya
 [TO] Tonga
 [TS] Tsonga
 [TR] Türkçe
 [TK] Türkmence
 [TW] Twi
 [UG] Uigur
 [UK] Ukraynaca
 [UR] Urduca
 [UZ] Özbekçe
 [VI] Vietnam Dili
 [VO] Volapük
 [CY] Welsh
 [WO] Wolof
 [XH] Xhosa
 [YI] Yidce. Alman İbranicesi
 [YO] Yoruba
 [ZJ] Zhuang
 [ZU] Zulu

Php’de Nesne Tabanlı Çalışmak

Php’de projeler büyüdükce sıkıntılar da büyüyor ve işler karmaşıklaşıyor. Bir süre sonra fonksiyonel bir çalışmaya ihtiyaç duyuyorsunuz ve function’lar size yeterli olmuyor. Bunun önüne geçmek için class’larla çalışmayı öğrenmek lazım.

Nesne tabanlı çalışmalar hakkında sizlere kendim bilgi vermek isterdim fakat İbrahim Hızlıoğlu’nun hazırlamış olduğu videolardan daha iyi anlatabilceğimi düşünmediğimden dolayı bu videoları sizlerle paylaşmaya karar verdim ve video linkleri aşağıda sizlerle paylaşıyorum. Faydalı olacağına eminim.

Php İle Nesne Tabanlı Programlama – Ders 1

Php İle Nesne Tabanlı Programlama – Ders 2

Php İle Nesne Tabanlı Programlama – Ders 3