2016-06-20 2 views
0

J'ai donc cette fonction que j'essaye de faire avec cURL à cause des valeurs de serveur file_get_contents() est désactivé.Réécrire la fonction file_get_content avec cURL

$url ='https://example.com' . 

     '/b/'.urlencode($this->user_ID).'/o/'.urlencode($this->ID); 
     $url=$url.'/h/'.urlencode($hash); 
     $number=rand(0, 10)/10 .""; 
     $url=$url.$number; 

    $html = file_get_contents($url); 
    preg_match('/<td valign="bottom" class="sum">(.*?)<\/td\>/', $html , $matches); 
    return $matches[0]; 

Ce que j'ai maintenant ce

$url ='https://example.com' . 

    '/b/'.urlencode($this->user_ID).'/o/'.urlencode($this->ID); 
    $number=rand(0, 10)/10 .""; 

    $url=$url.$number; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    $matches = curl_exec($ch); 
    curl_close($ch); 

    $html = file_get_contents($url); 
    preg_match('/<td valign="bottom" class="sum">(.*?)<\/td\>/', $html , $matches); 
    return $matches[0]; 

Est-ce quelque chose comme ça ou je suis tout à fait sur le mauvais sens? Et comment changer maintenant cette ligne - $html = file_get_contents($url);?

+0

l'avez-vous essayé? est-ce que ça marche? Que s'est-il passé avec le $ url. '/ H /'. Urlencode ($ hash); 'vous n'en avez plus besoin? –

+0

J'ai oublié $ url. '/ H /'. Urlencode ($ hash); 'il est là .. Quand je lance ceci avec curr j'essaie d'erreur' file_get_content(): https: // wrapper est désactivé sur ce serveur 'sur cette ligne' $ html = file_get_contents ($ url); ' –

+0

vous avez dit que vous voulez utiliser curl, pourquoi lancez-vous le code' file_get_contents'? –

Répondre

1

Vous devez supprimer l'appel à file_get_contents après la boucle, vous avez déjà la réponse de la demande curl.

remplaçons cette

$matches = curl_exec($ch); 

avec ce

$html = curl_exec($ch); 

Puis faire preg_match sur la réponse

// $html = file_get_contents($url); this line is not needed 
preg_match('/<td valign="bottom" class="sum">(.*?)<\/td\>/', $html , $matches); 
return $matches[0]; 

Enfin, inspecter le contenu des $matches et $matches[0]

+0

Merci c'est si évident ... –