Comunidad de diseño web y desarrollo en internet online

Solución a "Include (...)"

Citar            
MensajeEscrito el 14 Abr 2010 12:12 am
Hola! qué tal?
Estoy hace un tiempo buscando si existe alguna función en PHP que sea del tipo

Código PHP :

include("mi_carpeta/mi_pagina.php");
Pero con la diferencia de que los links a archivos dentro de mi_pagina.php que están en mi_carpeta sigan enlazados a esos mismos archivos. Ya se, hasta ahora es posible que no se entienda, voy a tratar de explicarlo mejor.

Tenemos una página en PHP (lamemos index.php) que dice:

Código PHP :

<?php
include("mi_carpeta/mi_pagina.php");
?>


Dentro de mi_pagina.php:

Código PHP :

<?php
include("otro.php");
?>


Entonces, cuando se lea el archivo original index.php, este intentara buscar un archivo llamado otro.php dentro de su carpeta y no de mi_carpeta.
Alguien sabe si existe una función que arregle este problema? Es decir, que incluya el archivo ya procesado y no lo que dice literalmente.

Por vagoneta

13 de clabLevel



 

Montevideo, Uruguay

chrome
Citar            
MensajeEscrito el 16 Abr 2010 04:25 am

Código PHP :

include( dirname(__FILE__) . "/otro.php");


Eso buscara dentro de la misma carpeta del archivo que tenga esa linea.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 24 Abr 2010 01:05 pm
Creo haber entendido lo que estas preguntado.. creo por que se me ocurren todavía tres cosas que podrían ser :P,

creo que lo que preguntas es.. tengo ejemplo
index.php
modulos/contacto.php
modulos/imgs/logo.gif

en index.php haces un include("modulos/contacto.php");, en contacto.php tienes un <img src="imgs/logo.gif"/>, al momento de incluir contacto.php no se ven la imagen.. por que pasa esto..

amm caes en una confusión muy basica :|..... recuerda que el resultado de un PHP es un HTML, el resultado de incluir contacto.php e index.php es la ejecución de los dos.. en contactos.php tienes en tu html un img que apunta a la ruta relativa segun el archivo de donde lo estas viendo "imgs/logo.gif"... pero eso es relativo a contacto.php y no a index.php, y lo que comentas es hacer el include pero que se vea la imagen.. la respuesta es... no no hay!... :S

include lo que hace es de cierta forma "fusionar" los archivos en uno solo, en realidad tu estas viendo a index.php quedando oculto modulos/contacto.php, las imagenes las tienes que definir como si estubieras en index.php perdiendo asi el poder verla desde contacto.php.. otra forma seria buscar todas las rutas y cambiarlas con alguna funciona pero no le veo sentido hacer eso lo único que vas hacer es afectar el rendimiento de tu pagina, digo por que el único beneficiado serias tu al poder ver tus imágenes en tiempo de diseño.. y para cuando alguen viera ese apartado se tendrían que procesar las URL de las imagenes, y esto seria la mayoría de las veces.

ahora si quieres obtener el resultado de la ejecución de un archivo php y traerte el resultado como una cadena... puedes hacer esto:
ob_start();
include "modulo/cotacto.php";
$resultadoDelPHP = ob_get_contents();
ob_end_clean();

eso no envia al explorador el resultado de modulo/contacto.php si no que lo almacena en un flujo que luego se asigna a $resultadoDelPHP que es un String con el contacto.php ya procesado, aunque esto funsiona para eso, y no para el caso de las imagenes que te comentaba al inicio, no se si eso es lo que querias preguntar..

Por wariodiaz

55 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.