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

  • Autor Autor UnLionel
  • Fecha de inicio Fecha de inicio

UnLionel

Zeta
Social Media
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
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.
 
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>