Foros del Web » Programando para Internet » PHP »

Enviar parametro GET en file_get_contents

Estas en el tema de Enviar parametro GET en file_get_contents en el foro de PHP en Foros del Web. Hola a todos, estoy usando file_get_contents para acceder a mis archivos y lo uso e la siguiente manera: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php ...
  #1 (permalink)  
Antiguo 04/07/2013, 10:25
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Enviar parametro GET en file_get_contents

Hola a todos, estoy usando file_get_contents para acceder a mis archivos y lo uso e la siguiente manera:

Código PHP:
Ver original
  1. <?php
  2. $page="mi_pagina.php";
  3. ?>

Pero requiero enviar parametros GET o POST a las paginas y haciendolo asi me sale error:
Código PHP:
Ver original
  1. <?php
  2. $page="mi_pagina.php?variable=algo";
  3. ?>
ME sale: failed to open stream:

De que forma puedo enviar esos parameros usando file_get_contents ??

Agradezco me puedan indicar
  #2 (permalink)  
Antiguo 04/07/2013, 10:46
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Enviar parametro GET en file_get_contents

Holas, oscarbt.

Nunca he usado esa función, y por la definición en la documentación de php, tal parece que no está hecha como para eso... pero puedo equivocarme. Hay un parámetro llamado "contexto" en la función, y me entra la duda de si servirá para lo que necesitas. Esperemos a los expertos a ver qué nos dicen.

Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 04/07/2013, 10:55
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Enviar parametro GET en file_get_contents

La URL que colocas no esta completa... ejemplo te falta 'http://localhost/pruebas/' o similar

Código PHP:
$page="http://localhost/pruebas/mi_pagina.php?variable=algo";

$contenido = @file_get_contents($page);

if (
$contenido === false)
   echo 
'Cuak! cuak! no se puede acceder';
else
   echo 
$contenido
__________________
Salu2!

Última edición por Italico76; 04/07/2013 a las 11:07
  #4 (permalink)  
Antiguo 04/07/2013, 11:07
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Enviar parametro GET en file_get_contents

Mmh, pero sin colocar los parámetros y sin tener la url completa, no le da problemas :o ¿o sí?
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #5 (permalink)  
Antiguo 04/07/2013, 11:10
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Enviar parametro GET en file_get_contents

Cita:
Iniciado por quinqui Ver Mensaje
Mmh, pero sin colocar los parámetros y sin tener la url completa, no le da problemas :o ¿o sí?
Nena, la URL tiene que ser valida.... los parametros del tipo ?var1=val1&var2=val2&.. no afectan

No se si te entendi bien
__________________
Salu2!
  #6 (permalink)  
Antiguo 04/07/2013, 12:44
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Enviar parametro GET en file_get_contents

Antes de meterse a ver si es la URL completa o no se debe comprender como funciona file_get_contents()...

Básicamente la función es un resumen de usar fopen(), fread() y fclose(), por lo tanto la función intentará abrir el archivo y leer su contenido, si tu agregas cualquier información al nombre del archivo la función buscará un archivo con el nombre IDÉNTICO, en otras palabras, la función no distingue entre el nombre del archivo y parámetros extras, por lo tanto, si le pasas "mi_pagina.php?variable=algo" buscará un archivo que se llame LITERALMENTE el valor anterior (incluyendo el ?variable=algo), al no existir ningún archivo con dicho nombre es que envía dicho error, ahora, si quieres pasarle una variable GET lo que tienes que haces es indicarle a la función que realizarás una petición HTTP, para que en vez de buscar en los archivos locales abra una conexión externa y eso se logra anteponiendo el protocolo http:// y la URL completa al archivo...

Una vez entendido esto me queda una duda, para que pretendes pasar una variable GET a un archivo local de la forma en que lo estas haciendo? no tiene lógica, en todo caso si necesitas pasar parámetros pueden ser como variables comunes ($mivariable) y con un include/require funcionará igual, PEOR aún, para que file_get_contents() funcione con el protocolo http (abrir una url) es necesario que en la configuración de PHP este habilitado los fopen wrappers, si estos no están habilitados no funcionará...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 04/07/2013, 13:10
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Enviar parametro GET en file_get_contents

@Nemutagk: sus observaciones son buenas..... yo creeria que el archivo es remoto o bien quiere aprender a usar la funcion file_get_contents().
__________________
Salu2!
  #8 (permalink)  
Antiguo 05/07/2013, 14:06
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Enviar parametro GET en file_get_contents

Muchas gracias, lo que realmente hice fue usar include ... asi:

Código PHP:
Ver original
  1. <?php
  2.   ob_start();
  3.   include 'views/modules/mi_pagina.php';
  4.   $html = ob_get_clean();
  5. ?>

De esta manera ya recibo todo lo que sea por POST o Get
  #9 (permalink)  
Antiguo 05/07/2013, 22:21
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Enviar parametro GET en file_get_contents

Compa, si quiere cierra el tema pero por lo que Ud dice, esta haciendo procesando los arrays $_GET y/o $_POST en una Vista ? pues eso estaria incorrecto amigo segun el patron MVC.....eso lo hace en el controlador
__________________
Salu2!

Última edición por Italico76; 05/07/2013 a las 22:40
  #10 (permalink)  
Antiguo 08/07/2013, 06:01
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Enviar parametro GET en file_get_contents

siii efectivamente tenia el error, ya lo corregi para que se haga en el controlador .... Gracias a todos por la ayuda....

Etiquetas: parametro
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 04:00.