Estoy tratando de añadir rich snippets, pero me da un error de "'file_get_contents'"

UnLionel

Eta
Social Media
Verificación en dos pasos desactivada
Desde
8 Oct 2014
Mensajes
1.375
Edad
26
Crédito(s)
0
Puntos
1.808
Hola, estoy siguiendo el tutorial de Star Snippets - Rich snippets einfach online abfragen. Cuando añado el codigo php, efectivamente la web da un error. El tutorial tiene un apartado para solucionar esto, pero no dispongo de tanto conocimiento.

PHP:
<body>
  ...
  <?php
    //el parámetro url debe coincidir con el parámetro href del código Javascript    
    $url = "http://star-snippets.com/rating?url=http://www.example.com";
			
    $title = "Página de ejemplo";
			
    $description = "Una descripción de mi página de ejemplo";
    
    if($title != "")
    {
      $url .= "&name=".rawurlencode($title);
    }
    
    if($description != "")
    {
      $url .= "&description=".rawurlencode($description);
    }
    
    $timeout = 10;
    
    try {
    
      $streamContext = stream_context_create(array('http' => array('timeout' => $timeout)));
      
      $response = file_get_contents($url, false, $streamContext);

      if (!$response)
      {}
      else
      {
        echo $response;
      }
    } catch (Exception $ex) {
    }
			
  ?>
  ...
</body>
Aviso
En caso de que el script anterior genere un error o un aviso, porque tu hosting no dispone de la función 'file_get_contents', puedes emplear el siguiente código en su lugar:

PHP:
// Comenta esta línea.
// $response = file_get_contents($url, false, $streamContext);

// Emplea en su lugar las siguientes líneas
$session = curl_init($url);
curl_setopt($session, CURLOPT_HEADER, false);  
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($session, CURLOPT_TIMEOUT, $timeout);
$response = curl_exec($session);
curl_close($session);
¿Cómo hago para emplear el codigo anterior y solucionarlo?
Saludos.
 

Jorge Reyes

Moderador
1
Kappa
Social Media
Verificado con documento
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
29 Mar 2012
Mensajes
2.584
Edad
22
Crédito(s)
1
Puntos
152
Solo es quitar file_get_contents y reemplazarlo por CURL
PHP:
<body> 
  ... 
  <?php 
    //el parámetro url debe coincidir con el parámetro href del código Javascript     
    $url = "http://star-snippets.com/rating?url=http://www.example.com"; 
             
    $title = "Página de ejemplo"; 
             
    $description = "Una descripción de mi página de ejemplo"; 
     
    if($title != "") 
    { 
      $url .= "&name=".rawurlencode($title); 
    } 
     
    if($description != "") 
    { 
      $url .= "&description=".rawurlencode($description); 
    } 
     
    $timeout = 10; 
     
    try { 
            
	$session = curl_init($url); 
	curl_setopt($session, CURLOPT_HEADER, false);   
	curl_setopt($session, CURLOPT_RETURNTRANSFER, true); 
	curl_setopt($session, CURLOPT_TIMEOUT, $timeout); 
	$response = curl_exec($session); 
	curl_close($session);  

      if (!$response) 
      {} 
      else 
      { 
        echo $response; 
      } 
    } catch (Exception $ex) { 
    } 
             
  ?> 
  ... 
</body>
 

Arriba