Foros del Web » Programando para Internet » PHP »

include dinamico ¿es posible?

Estas en el tema de include dinamico ¿es posible? en el foro de PHP en Foros del Web. hola necesito hacer un include en mi pagina, pero... el nombre del fichero a incluir es devuelto por mi base de datos en un campo ...
  #1 (permalink)  
Antiguo 11/02/2004, 11:19
 
Fecha de Ingreso: febrero-2004
Mensajes: 3
Antigüedad: 20 años, 2 meses
Puntos: 1
include dinamico ¿es posible?

hola
necesito hacer un include en mi pagina, pero...
el nombre del fichero a incluir es devuelto por mi base de datos en un campo de nombre "contenido". Por lo que necesito que un script en php me devuelva ese dato y lo agrege en el include.
En teoria:

Código PHP:
<?php include ('dato dinamico de la ruta del archivo que necesito incluir');?>
hice lo siguiente:

Código PHP:
<?php include ($row_contenidos['Contenido']);?>
pero parece ser que que include () no acepta esta forma. Probe con virtual() y require () pero no me dio nada.

La idea es que desde un registro maestro el usuario haga clic en un registro y al ir a la pagina de detalle aparezca el contendido de ese registro q esta en el archivo a incluir.

La conexion a la base de datos esta ok y todo funciona...menos esto

envio el codigo q uso en mi pagina detalle

Código PHP:
<?php require_once('archivo de conexion'); ?>
<?php
$colname_contenidos 
"1";
if (isset(
$_GET['Nombrerecurso'])) {
  
$colname_contenidos = (get_magic_quotes_gpc()) ? $_GET['Nombrerecurso'] : addslashes($_GET['Nombrerecurso']);
}
mysql_select_db($database_nombreDB$DB);
$query_contenidos sprintf("SELECT * FROM Recuros WHERE Nombrerecurso = '%s'"$colname_contenidos);
$contenidos mysql_query($query_contenidos$DB) or die(mysql_error());
$row_contenidos mysql_fetch_assoc($contenidos);
$totalRows_contenidos mysql_num_rows($contenidos);
?>

<?php echo $row_contenidos['Nombrerecurso']; ?>
<?php 
echo $row_contenidos['URL']; ?>
<?php 
echo $row_contenidos['Nombrearchivo']; ?>
<?php 
echo $row_contenidos['Tamano']; ?>
<?php 
echo $row_contenidos['Requerimientos']; ?>
<?php 
echo $row_contenidos['Nivel']; ?>
<?php 
echo $row_contenidos['Contenido']; ?>//esto me imprime la ruta del archivo ejem: contenidos/texto.htm

<?php
include ($row_contenidos['Contenido']); ?>//aqui este el problema

<?php
mysql_free_result
($contenidos);
?>
si hay alguna forma haganmelo saber
muy agradecido
Mac
  #2 (permalink)  
Antiguo 11/02/2004, 11:32
 
Fecha de Ingreso: enero-2004
Mensajes: 431
Antigüedad: 20 años, 3 meses
Puntos: 6
prueba kon
Código PHP:
include $row_contenidos["contenido"]; 
__________________
El que teme preguntar, se averguenza de aprender.

Última edición por kez0; 11/02/2004 a las 11:33
  #3 (permalink)  
Antiguo 11/02/2004, 11:44
 
Fecha de Ingreso: febrero-2004
Mensajes: 3
Antigüedad: 20 años, 2 meses
Puntos: 1
Kez0
No sirve, los include siempre estan entre parentesis, de todas maneras he probado con todas las combinaciones posibles...creo.

Quiza se pueda crear alguna funcion o variable que devuelva el nombre del fichero entre los parentesis pero yo no se hacerlo...
Muchas gracias
  #4 (permalink)  
Antiguo 11/02/2004, 13:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Debes fijarte donde tienes tus archivos y desde donde se están llamando.

Es decir .. suponiendo que tienes una estructura tipo:

/ <- raiz de tu sitio (nada que ver con el raiz del sistema de archivos de ese servidor ..)
/contenidos -> archivo.tal y otros ..
/otrodir
leecontenido.php -> tu script que hace tu consulta a tu BD .. etc..

La ruta sería:
include ("./".$row_contenidos["contenido"]);
(incluyo el ./ por si no está incluida en el include_dir = de tu php.ini)

Si fuera otra ruta .. debes indicarla correctamente ... Puedes usar también:

include($_SERVER['DOCUMENT_ROOT'].$row['contenido']);

así tomas la ruta completa absoluta de tu sitio.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 11/02/2004, 14:39
 
Fecha de Ingreso: febrero-2004
Mensajes: 3
Antigüedad: 20 años, 2 meses
Puntos: 1
Gracias Cluster

respecto al titulo de mi mensaje

"include dinamico ¿es posible?"

la respuesta es SI

este es el codigo que finalmente me sirvio

Código PHP:
<?php
include("recursos/contenidos/".$row_contenidos['Contenido']);
?>
De esta manera hice un include dinamico del archivo a mi pagina web.
La URL que va entre comillas es donde esta el archivo y lo que sigue es la cadena que recupera el nombre del archivo en la base de datos.

Espero que esto le sirva a alguien más
topito
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:46.