Saludos a todos, estoy intentando hacer un script que liste algunos archivos que esten dentro de alguna ruta especificada al llamar la funcion y que muestren un instruccion para asi llamar paginas dentro de una pagina, a manera de modulos.
El problema es el siguiente, tengo la funcion hecha pero por algun motivo ejecuta las ordenes y genera los datos que quiero incluir en un archivo, pero al llamar la funcion el texto generado no se mantiene como codigo sino se muestra en el navegador como texto plano.
Esta es la funcion
Código
function mostrar_modulos($ruta){ // Se comprueba que realmente sea la ruta de un directorio // Abre un gestor de directorios para la ruta indicada // Recorre todos los archivos del directorio // Solo buscamos archivos sin entrar en subdirectorios //echo "<a href='".$ruta."/".$archivo."' title='".$archivo."'>".$archivo."</a>"; $modulos = "\$conf['$nombremod'] = array( 'archivo' => '$archivo' );<br/>"; print "$modulos"; } } // Cierra el gestor de directorios } else { echo "No es una ruta de directorio valida<br/>"; } }
Genera esta linea de codigo por cada archivo encontrado dentro del directorio indicado
Código
La funcion se llama de esta manera
Código
mostrar_modulos("./modulos/prueba/");
Pero en el navegador imprime el bloque de php de esta manera
Código
<?php ?>
En ves de ejecutar el codigo.
Cabe decir que lo que quiero es automatizar un poco el sistema creado en zonaphp http://zonaphp.com/creando-webs-modulares/.
La cuestion es llamar la funcion dentro del archivo conf para crear la variable con su respectivo array y despues solo llamar el modulo con el enlace, agradeceria alguna orientacion para poder hacer que los datos se queden como codigo y sean ejecutados por el navegador en vez de mostrar el bloque de codigo fuente tal cual.
Gracias.
SI A ALGUIEN LE INTERESA ESTA FUE LA SOLUCION
Código:
<?php
function mostrar_modulos($ruta){
// Se comprueba que realmente sea la ruta de un directorio
if (is_dir($ruta)){
// Abre un gestor de directorios para la ruta indicada
$gestor = opendir($ruta);
// Recorre todos los archivos del directorio
while (($archivo = readdir($gestor)) !== false) {
// Solo buscamos archivos sin entrar en subdirectorios
$nombremod = substr("$archivo", 0, -4);
if (is_file($ruta."/".$archivo)) {
$rutacorrecta = substr("$ruta", 9);
//echo "<a href='".$ruta."/".$archivo."' title='".$archivo."'>".$archivo."</a>";
$modulos = "\$conf['$nombremod'] = array( 'archivo' => '$rutacorrecta/$archivo' );";
$file=fopen("conf.php","r+") or die("Problemas");
fseek($file, -3, SEEK_END);
fwrite($file,"$modulos;?>");//escribir el contenido para incluir en conf.php desde txt
fclose($file);
}
}
// Cierra el gestor de directorios
closedir($gestor);
} else {
echo "No es una ruta de directorio valida<br/>";
}
}
mostrar_modulos("./modulos/prueba");
?>
function mostrar_modulos($ruta){
// Se comprueba que realmente sea la ruta de un directorio
if (is_dir($ruta)){
// Abre un gestor de directorios para la ruta indicada
$gestor = opendir($ruta);
// Recorre todos los archivos del directorio
while (($archivo = readdir($gestor)) !== false) {
// Solo buscamos archivos sin entrar en subdirectorios
$nombremod = substr("$archivo", 0, -4);
if (is_file($ruta."/".$archivo)) {
$rutacorrecta = substr("$ruta", 9);
//echo "<a href='".$ruta."/".$archivo."' title='".$archivo."'>".$archivo."</a>";
$modulos = "\$conf['$nombremod'] = array( 'archivo' => '$rutacorrecta/$archivo' );";
$file=fopen("conf.php","r+") or die("Problemas");
fseek($file, -3, SEEK_END);
fwrite($file,"$modulos;?>");//escribir el contenido para incluir en conf.php desde txt
fclose($file);
}
}
// Cierra el gestor de directorios
closedir($gestor);
} else {
echo "No es una ruta de directorio valida<br/>";
}
}
mostrar_modulos("./modulos/prueba");
?>