Merhabalar, bu yazımızda girilen IBAN numrasının hangi bankaya ait olduğunu ve banka resmini ücretsiz bir şekidle CURL ile çekeceğiz. Genel olarak internette bir araştırma yaptım ama GET ile sorgulama yapan bir siteye rastlayamadım, en sonunda ise iban.gen.tr adresini keşfettim, kendilerine buradan da teşekkür ederiz çünkü IBAN doğrulama API lerini çok pahalı fiyatlardan satıyorlar, kendilerinin IBAN sorgulama ekranını GET ile yapmış olmları bir teşekkürü hak ettirdi. Fazla konuşmadan işlemlere başlayalım.
Adım 1: CURL ile bağlanalım
if (@$_POST["submit"]) {
function siteAdresi($site){
$ch = curl_init();
$hc = "YahooSeeker-Testing/v3.9 (compatible; Mozilla 4.0; MSIE 5.5; Yahoo! Search - Web Search)";
curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com');
curl_setopt($ch, CURLOPT_URL, $site);
curl_setopt($ch, CURLOPT_USERAGENT, $hc);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$site = curl_exec($ch);
curl_close($ch);
return $site;
}
function search($start, $end, $string){
@preg_match_all('/' . preg_quote($start, '/') .
'(.*?)'. preg_quote($end, '/').'/i', $string, $m);
return @$m[1];
}
$veri= siteAdresi("https://iban.gen.tr/iban-cozumleme-ve-dogrulama?kod=".$_POST["iban"]);
$itemName = search('<strong>','</strong>',$veri)[0];
$itemImg = search('src="','"',$veri)[2];
}
Bu kısımda inputa girilen veri iban.gen.tr/iban-cozumleme-ve-dogrulama?kod=IBAN url sine gidecek ve belirlediğimiz alanları bize getirecek.
Adım 2: Formumuzu oluşturalım
<form action="" method="POST">
<input type="text" name="iban" placeholder="IBAN numaranızı giriniz">
<input type="submit" name="submit" value="Ara">
</form>
<table border="1">
<thead>
<th>BankImg</th>
<th>BankName</th>
</thead>
<tbody>
<tr>
<?php if (!empty($itemImg)): ?>
<td><img src="<?php echo "https://iban.gen.tr/" . $itemImg ?>" width="100"></td>
<?php endif; ?>
<?php if (!empty($itemName)): ?>
<td><?php echo @$itemName; ?></td>
<?php endif; ?>
</tr>
</tbody>
</table>
İşte uygulamamız bu kadar basit. Tabi bu uygulamanın ücretli API lerden özellik olarak birçok farkı var, örneğin ücretli API'lerde
ama bunların olması bizi durdurmaz bu uygulamayı kendi isteğinize göre daha çok geliştirebilirisiniz. Umarım yazım sizlere yardımcı olmuştur, teşekkürler. Uygulamanın tam halini Github sayfamdan indirebilirsiniz.
Girilen IBAN adresinde boşluk olunca hata veriyor ve verileri çekmiyor. Bu yüzden tek satırlık bir kod ile IBAN aralarında ki boşukları silelim.
$trim = str_replace(" ","", $_POST["iban"]); // Boşluklar silinir
$veri= siteAdresi("https://iban.gen.tr/iban-cozumleme-ve-dogrulama?kod=".$trim); // Boşluksuz IBAN yazıdrılır.
Merhaba Atakan, aslında çalışma konusunda bir problem yok, tek problem girilen IBAN arasında ki boşlukların olması. Makale içerisinde güncelleme yaptım :) İyi çalışmalar.
Güzel bir anlatım olmuş hocam teşekkürler, kullanacağım :) Yanıtla
Rica ederim hocam ne demek :)
atakan 2 yıl önce
güncellenmesi lazım Yanıtla