Antes de decir nada, me acabo de registrar y estoy dando los primeros pasos en PHP.
Tengo un problema con los require( o include). A ver si puedo explicarme bien.
Antes todas las paginas en la misma carpeta en plan caos, donde todas seguian la estructura:
<?
require_once("cabecera.php");
[...]
require_once("pie.php");
?>
Vamos, lo tipico. La cabecera tiene el tipico menu con links, y ahi es donde esta mi problema. Se me ocurrio la feliz idea y capricho de ordenar en carpetas(zRegistro, zAdministracion, etc...) y siendo la misma cabecera para todos (la cual deje en el mismo directorio principal), me da problemas. Los require redireccionan los links dependiendo de la carpeta del archivo que los llamo, asi que teniendo la estructura tal que cabecera.php tiene los links "../zRegistro/registro.php", asi cuando desde otra carpeta o incluso desde ella misma se clica en los enlaces, no hay problemas. Peeero, esto se cumple siempre que el archivo este una carpeta. Y mi idea es que el index este en el directorio principal, donde se encuentra la cabecera.php. Y ahi... los links petan por todos lados.
Se me ocurrio ponerle una cabecera (cabeceraIndex.php) identica a cabecera.php, pero con los links bien para el index.php. Un poco chapuzas... Tambien probe a poner el index en una carpeta, como el resto, y dejar el tipico index.php en el directorio principal con algun redireccionamiento.Otro metodo fue pones los links como www.dominio.co/elpropiolink, pero esto me impide hacer mis pruebas desde localhost....
Pero como me pica la curiosidad y busco algo menos cutre quisiera preguntar...
Existe alguna manera para que desde cabecera.php se sepa que archivo o en que carpeta se ha llamado? O alguna manera para que al acoplar con el require a cabecera.php no sea relacional?(vamos, que los links los pueda poder desde el propio directorio principal y no desde el archivo que adjunta a cabecera.php)
Me he explicado horriblemente mal, pero espero que algun alma bondadosa me entienda(y si tiene conocimientos pa contestarme, mejor xD)
Gracias por adelantado.