Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Diabliyo en 7 Febrero 2008, 23:19 pm



Título: como Invocar funcion de un PHP incluido !!
Publicado por: Diabliyo en 7 Febrero 2008, 23:19 pm
Hola:

Espero poder explciarme bien, debido a que el sistema que estoy programando en PHP es demasiado automatizado...En fin, aqui voy jejeje

Deseo invocar una funcion de un archivo includio (include()), el problema es que este archivo es tomado de una carpeta llamada modulos, en donde se encuentran varios archivos importante del sistema, por ejemplo:

modulos/noticias.php
modulos/usuarios.php

Cada uno de estos archivo *.php son invocados desde la LECTURA DEL DIRECTORIO, de modo que cada archivo PHP tiene un boton unico y pues cada boton es generado desde la LECTURA DEL DIRECTORIO, de este modo se puede ENRIQUECER el sistema agregando MODULOS que se puedan AUTO-Instalar !! (esa es la idea)..... Deseo invocar la funcion noticias(); del archivo modulos/noticias.php...

El problema es que NO LOGRO invocar el nombre de la funcion de algun archivo.php dentro de la carpeta "modulos/" debido a que no se como invocarla desde variables :(...

Aqui les djeo un poco de codigo...

Código:
<?php

//esta funcion genera los botones automaticamente realizando la lectura del directorio "modulos/", su logica
//es muy simple, solamente toma el archivo *.php, le quita la extensión ".php" y deja el puro nombre,
//despues solo modifica la letra incial por MAYUSCULA y finalmente lo convierto en link <a></a>...

echo "<td vlign=\"top\">";
echo "<table cellspacing=\"5\" cellpadding=\"0\" align=\"center\" id=\"tabla_areabotones\">";
echo "<td>Inicio</td>"; //establecido
echo "<td><a href=\"index.php?id=modulos\">Modulos</a></td>"; //establecido

chdir( "modulos/" ); //nos movemos

$fp= opendir( getcwd() ); //abrimos directorio

while( ($buf= readdir( $fp )) !==FALSE ) //leemos
{
if( strchr( $buf, ".php" ) ) //sercioramos de tener un archivo ".php"
{
if( strcmp( $buf, "modulos.php" ) && strcmp( $buf, "base.php" ) ) //excluimos archivos
{
$x= explode( ".php", $buf ); //partimos

echo "<td><a href=\"index.php?id=". $x[0]. "\">". ucfirst($x[0]). "</a></td>"; //imprimimos en la pagina

unset( $x );
}
}
}

unset( $buf );
closedir( $fp );

echo "</table>";
echo "</td><tr>";
?>

Código:
</php

//esta funcion es la que MUESTRARA el contenido de cada archivo.php de los modulos, todo dependiendo
//el archivo.php a consultar, posteriormente se debe invocar la funcion principal, el nombre de la funcion
//principal es el nombre del archivo.php mismo...  ejemplo.php, ejemplo()

echo "<td valign=\"top\">";

if( $_GET["id"] ) //verificamos que se invocara la variable para modulos
{
$fp= opendir( getcwd() ); //abrimos directorio

while( ($buf= readdir( $fp )) !== FALSE ) //leemos
{
if( strchr( $buf, ".php" ) ) //comparamos que sea archivo PHP
{
if( strcmp( $buf, "modulos.php" ) && strcmp( $buf, "base.php" ) ) //comparamos que sea distintio
{
include( $buf ); //incluimos archivo PHP
//==COMO INVOCAMOS el nombre ??? === $buf();  ???
}
}
unset( $buf ); //vaciamos buffer
}
closedir( $fp );
}
else
{
echo "<table cellspacing=\"0\" cellpadding=\"0\" align=\"center\" id=\"tabla_areatrabajo\">";
echo "<td>Area de Trabajo</td>";
echo "</table>";
}

echo "</td>";
?>


Título: Re: como Invocar funcion de un PHP incluido !!
Publicado por: дٳŦ٭ en 8 Febrero 2008, 00:50 am
mmm creo no te entendí.

Así como estás haciendo los botones podrías hacer una función que construya las funciones de los módulos..

Eso de llamar funciones por variables no entiendo.