cURL ile Arkaplan Dosya İletişimi
<?
function QueryString($arr) {
$qs='';
foreach($arr as $d=>$v) {
$qs.=urlencode($d).'='.urlencode($v).'&';
}
$qs = trim($qs,'&');
return $qs;
}
// verilen arrayı a=b&c=d olarak QueryStringe çevirir
function veriCek($url,$post_arr,$method='POST',$ssl=false) {
//QueryStringi sil
$url = explode('?',$url);
$url = $url[0];
//Host belirtilmediyse kendi hostuna ayarla, SSL varsa https yaz.
if(!preg_match('/http:\/\//',$url)||!preg_match('/https:\/\//',$url)) {
$url = (($ssl)?'https://':'http://').$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/".$url;
}
//Curl aç
if($method=='GET') {
$url.='?'.QueryString($post_arr);
}
$curl = curl_init($url);
//POST aç
curl_setopt ($curl, CURLOPT_POST, 1);
//Query Stringi diğer fonksiyondan oluşturup entegre et, get ve post olarak ayır
if($method=='POST') {
curl_setopt ($curl, CURLOPT_POSTFIELDS, QueryString($post_arr));
}
//Yolladığın sayfadan cevap iste
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//Headeri kapat neden oldğunu bilmiorum ama gerekli
curl_setopt($curl, CURLOPT_HEADER, 0);
//Sonucu çalıştırıp değişkene ata
$sonuc = curl_exec ($curl);
//cURL kapat
curl_close ($curl);
//Sonucu döndür
return $sonuc;
}
// Kullanım:
$veriler = array("siteadi"=>"pehepe.org","coder"=>"fatih");
echo veriCek("sayfa.php",$veriler,'POST',true); // POST yollar ve SSL açık
echo veriCek("sayfa.php",$veriler,'GET'); // GET yollar ve SSL kapalı
?>
cURL genel olarak kullanıcının yapılan işlemi görmemesi için kullanılır.
Gizli yapılan işlemlerde yaygın olarak kullanılan cURL için çok gelişmiş ve güvenli bir fonksiyondur.
Sanal POS ve e-ticaret uygulamalarında kullanımı yaygındır.
//FKA
Linkback: https://www.buyuknet.com/curl-ile-arkaplan-dosya-iletisimi-t21129.0.html