• 20-11-2012, 19:51:20
    #1
    Merhaba,

    Kullanmakta olduğum scriptte allow_url_fopen komutunun aktif edilmesi gerekmekte fakat aktif ettiğim zaman server time-out süresini 60 ayarlasam bile yine de daha da geç açılıyor, anlamsız bir döngü olayı mevcut.

    Yabancı forumlara baya göz atmama rağmen bulamadım, allow_url_fopen komutu yerine cUrl kullanmam gerekiyor; ama yeterli bilgim olmadığı için anlamlı bir bütün oluşturamadım.

    Lütfen bu kodun yerine curl kullanımını yazarsanız çok sevinirim.
    Teşekkürler.

    echo file_get_contents($config['baseurl']."/startup.php");
  • 21-11-2012, 12:34:22
    #2
     function baglan($feed){
              $ch = curl_init(); 
            $timeout = 0;
            curl_setopt ($ch, CURLOPT_URL, $feed);
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 0);
            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
            $veri= curl_exec($ch);
            curl_close($ch);
            return $veri;
    }
    
    echo baglan($config['baseurl']."/startup.php");
  • 21-11-2012, 13:23:28
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar,

    Basit cURL sınıfı konumu incelerseniz net bir kazanım elde edebilirsiniz.

    Saygılarımla
  • 25-11-2012, 03:40:01
    #4
    Bu allow_url_fopen komutu birçok hazır script ve kurulumda canımı sıkıyor, bir kere adam gibi toparlayabilsem gerçekten keyif alıcam, hızlı da olucak ama yok, oluyor.

    Bu sefer de facebook login içerisinde aynı sıkıntıyı yaşıyorum.

    				$my_url = $config['baseurl']."/";
    				$token_url = "https://graph.facebook.com/oauth/access_token?"
    				. "client_id=" . $A . "&redirect_uri=" . urlencode($my_url)
    				. "&client_secret=" . $B . "&code=" . $code;
    				$response = @file_get_contents($token_url);
    				$params = null;
    				parse_str($response, $params);
    				$graph_url = "https://graph.facebook.com/me?access_token=" 
    				. $params['access_token'];
    				$user = json_decode(file_get_contents($graph_url));
    				$fname = htmlentities(strip_tags($user->name), ENT_COMPAT, "UTF-8");
    				$femail = htmlentities(strip_tags($user->email), ENT_COMPAT, "UTF-8");
    				//pics
    				$fbpid = htmlentities(strip_tags($user->id), ENT_COMPAT, "UTF-8");
    				$fbpicurl = "http://graph.facebook.com/".$fbpid."/picture";
    				$fbpicurl2 = "http://graph.facebook.com/".$fbpid."/picture?type=large";
    iki noktada file_get_contents canımı sıkıyor. Bu kodları curl'e çevirirseniz felaket mutlu olacağım.. bütün günümü buna harcadım resmen, üstüne host ile tartıştım, sonuç sıfır.
  • 25-11-2012, 04:09:47
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    CenkOnsoy adlı üyeden alıntı: mesajı görüntüle
    Bu allow_url_fopen komutu birçok hazır script ve kurulumda canımı sıkıyor, bir kere adam gibi toparlayabilsem gerçekten keyif alıcam, hızlı da olucak ama yok, oluyor.

    Bu sefer de facebook login içerisinde aynı sıkıntıyı yaşıyorum.

    				$my_url = $config['baseurl']."/";
    				$token_url = "https://graph.facebook.com/oauth/access_token?"
    				. "client_id=" . $A . "&redirect_uri=" . urlencode($my_url)
    				. "&client_secret=" . $B . "&code=" . $code;
    				$response = @file_get_contents($token_url);
    				$params = null;
    				parse_str($response, $params);
    				$graph_url = "https://graph.facebook.com/me?access_token=" 
    				. $params['access_token'];
    				$user = json_decode(file_get_contents($graph_url));
    				$fname = htmlentities(strip_tags($user->name), ENT_COMPAT, "UTF-8");
    				$femail = htmlentities(strip_tags($user->email), ENT_COMPAT, "UTF-8");
    				//pics
    				$fbpid = htmlentities(strip_tags($user->id), ENT_COMPAT, "UTF-8");
    				$fbpicurl = "http://graph.facebook.com/".$fbpid."/picture";
    				$fbpicurl2 = "http://graph.facebook.com/".$fbpid."/picture?type=large";
    iki noktada file_get_contents canımı sıkıyor. Bu kodları curl'e çevirirseniz felaket mutlu olacağım.. bütün günümü buna harcadım resmen, üstüne host ile tartıştım, sonuç sıfır.
    Arkadaşım yukarıda arkadaşlar vermiş zaten. Tekrar edecek olursak fonksiyon.php vb. bir dosyan varsa içine, yoksa kullandığın dosyanın başına bunu ekle:

    function curl_get_contents($adres){
    	$timeout = 0;
    	$ch = curl_init();
    	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    	curl_setopt($ch, CURLOPT_URL, $adres);
    	curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    	$gelen = curl_exec($ch);
    	if(curl_errno($ch))	print curl_error($ch);
    	curl_close($ch);
    	return $gelen;
    }
    Daha sonra kodlarında file_get_contents olan yerleri curl_get_contents olarak değiştir, yani:

    $response = @file_get_contents($token_url);
    yerine

    $response = curl_get_contents($token_url);
    gibi.
  • 25-11-2012, 10:42:47
    #6
    Hocam çok teşekkür ediyorum, elinize sağlık.