Foros del Web » Programando para Internet » PHP »

file_get_contents

Estas en el tema de file_get_contents en el foro de PHP en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $musica = file_get_contents ( 'http://poiskm.com/?q=' . urlencode ( $_GET [ 'q' ] ) . '&c=search' ) ; echo $musica ...
  #1 (permalink)  
Antiguo 19/11/2014, 11:00
 
Fecha de Ingreso: febrero-2014
Mensajes: 46
Antigüedad: 10 años, 2 meses
Puntos: 1
file_get_contents

Código PHP:
Ver original
  1. $musica = file_get_contents('http://poiskm.com/?q='.urlencode($_GET['q']).'&c=search');
  2. echo $musica;{

El problema esta en: Cuando accedes a http://poiskm.com/?q=foros&c=search (No existe el cantante foros) muestra todo perfectamente. Cuando accedes a http://poiskm.com/?q=David+Bisbal&c=search te redirecciona a http://poiskm.com/artist/31082-David-Bisbal ya que existe el cantante

El script no me funciona cuando busco cantantes porque que redirecciona a otra pagina, pero si cuando busco canciones. En mi localhost si funciona, pero en hosting no.

Alguna manera de conseguir esa url a la que redirige?
  #2 (permalink)  
Antiguo 19/11/2014, 11:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: file_get_contents

Por favor, evita usar tipografía enorme, es una falta de respeto: ¿o crees que estamos mal de la visión como para que tengas que emplear dicho tamaño?

Sólo te faltó colocarle colores brillantes y usar Comic Sans.

Volviendo al tema, lo mejor es que uses cURL, pues cURL si es capaz de manejar redirecciones.

Consulta el manual: http://php.net/manual/es/book.curl.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/11/2014, 12:01
 
Fecha de Ingreso: febrero-2014
Mensajes: 46
Antigüedad: 10 años, 2 meses
Puntos: 1
Respuesta: file_get_contents

Cita:
Iniciado por pateketrueke Ver Mensaje
Por favor, evita usar tipografía enorme, es una falta de respeto: ¿o crees que estamos mal de la visión como para que tengas que emplear dicho tamaño?

Sólo te faltó colocarle colores brillantes y usar Comic Sans.

Volviendo al tema, lo mejor es que uses cURL, pues cURL si es capaz de manejar redirecciones.

Consulta el manual: [url]http://php.net/manual/es/book.curl.php[/url]
Losiento :(

file_get_contents tambien es capaz de manejar redirecciones, al utilizar CURL

Código PHP:
Ver original
  1. <?php
  2. $ch = curl_init();
  3. //configuro todas las opciones que necesite de curl (pongo estas opciones por poner algo)
  4. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  5. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  6. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  7. curl_setopt($ch, CURLOPT_HEADER, 1);
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  9. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  10. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
  11.  
  12. curl_setopt($ch, CURLOPT_URL, 'http://google.com');
  13.  
  14. //realizo la petición
  15. $unaVariable = curl_exec($ch);
  16.  
  17. ?>

Me da error: Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home/a5044621/public_html/prueba.php on line 5
  #4 (permalink)  
Antiguo 19/11/2014, 12:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: file_get_contents

El mensaje de error te dice el problema claramente:
Cita:
CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set
Investiga dichas restricciones en el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:45.