PHP ile cURL ile Arkaplan Dosya İletişimi - PHP Webmaster bilgi bankası, knowledge base Webmaster Araçları

AnaSayfa > PHP > PHP ile cURL ile Arkaplan Dosya İletişimi
Kategori: PHP
Gönderen: Admin
Tarih: 2009-02-19
Puan: 0   Puan:0 | Katılımcı:0 | Katılımcı : 0
Okunma: 4354
  
 
1 puan 2 puan 3 puan 4 puan 5 puan 6 puan 7 puan 8 puan 9 puan 10 puan

<?
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



Yorumlar
Henüz Kimse Yorum Yapmamış, ilk yorumu siz ekleyin!
Yorum Ekleme Aparatı
Yorum Eklemek için lütfen sol menuden giris yapınız..
Toplam 0 yorum listelendi.