Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Leer Variable de varios archivos a la vez.

Estas en el tema de Leer Variable de varios archivos a la vez. en el foro de PHP en Foros del Web. Estimados. Hace mucho que no andaba por estos lados y se me presentó un problema que dada la premura no he logrado resolver. En el ...
  #1 (permalink)  
Antiguo 24/06/2015, 13:02
Avatar de Chaudx  
Fecha de Ingreso: marzo-2002
Ubicación: Quilpué, Chilito lindo
Mensajes: 345
Antigüedad: 22 años, 1 mes
Puntos: 2
Exclamación Leer Variable de varios archivos a la vez.

Estimados.
Hace mucho que no andaba por estos lados y se me presentó un problema que dada la premura no he logrado resolver.

En el servidor tengo una carpeta con varios archivos PHP, que trabajarían como módulos.
Todos los archivos tienen una variable de nombre común. Por ej. $level.

El asunto es que dependiendo del valor de $level, necesito tomar otras variables a continuación del archivo e incluirlos en un array para mostrarlos en el archivo index.php.
Si $level no coincide con el valor dado, se ignora el contenido total o parte del archivo.

Es algo así como un sistema de módulos, en donde dependiendo del nivel del usuario, se cargan las variables de ese archivo y se muestran en index.php

alguna idea??
__________________
Servicios computacionales
Linux registered User # 306587
Ubuntu user #14563
  #2 (permalink)  
Antiguo 24/06/2015, 13:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Leer Variable de varios archivos a la vez.

Cita:
alguna idea??
¿Algo así?

Código PHP:
Ver original
  1. if (!isset($level)) {
  2.   die('No existe $level');
  3. }
  4.  
  5. if ($level > 3) {
  6.   // OK
  7. }
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/06/2015, 13:30
Avatar de Chaudx  
Fecha de Ingreso: marzo-2002
Ubicación: Quilpué, Chilito lindo
Mensajes: 345
Antigüedad: 22 años, 1 mes
Puntos: 2
Respuesta: Leer Variable de varios archivos a la vez.

Nop...
En realidad, lo que necesito es que me lea de una vez todos los archivos de una carpeta y me liste ciertas variables dependiendo de una variable principal $level.

En la carpeta /modulos, están todos los archivos

Cada archivo .php tiene al principio definida 3 variables:
$level
$proceso
$estado

Cuando el usuario ingresa al sitio se le asigna un valor de $level.

En index.php sólo se listan los valores de $proceso y $estado de los archivos que tienen el mismo $level asignado al usuario.
Para ello es necesario que antes me lea todos los archivos y si la variable $level coincide almaceno en un array el nombre del archivo, el valor de $proceso y el valor de $estado.
Estos valores se muestran apenas el usuario ingresa a index.php.

Se entiende??
__________________
Servicios computacionales
Linux registered User # 306587
Ubuntu user #14563
  #4 (permalink)  
Antiguo 24/06/2015, 13:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Leer Variable de varios archivos a la vez.

Pues sí, se entiende:
Código PHP:
Ver original
  1. $foo = 'bar.php';
  2. $level = -1;
  3.  
  4. include $foo;
  5.  
  6. var_dump($level); // ¿es -1 o no?

Primero debes definir tu contexto de manera neutral, luego incluyes el script, dicho script modifica el contexto y al final analizas los cambios.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 24/06/2015, 18:48
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Leer Variable de varios archivos a la vez.

Me parece muy mala idea incluir scripts solo para analizar un valor y, si no coincide, "descartar" el resto.

No sería mejor tener una lista de archivos y su nivel correspondiente?

Código PHP:
Ver original
  1. $scripts = array(
  2.     // Archivos de nivel 1
  3.     1 => array(
  4.         'archivo1', 'archivo2', 'archivo3', '...'
  5.     ),
  6.     // Archivos de nivel 2
  7.     2 => array(
  8.         'archivo4', 'archivo5', 'archivo6', '...'
  9.     )
  10. );

Ahora, leyendo bien tu mensaje, estamos hablando de permisos de usuarios; creo que te convendría descargar un script de foros como PhpBB, MyBB, etc. y revises cómo manejan estas cuestiones.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 27/06/2015, 06:45
Avatar de Chaudx  
Fecha de Ingreso: marzo-2002
Ubicación: Quilpué, Chilito lindo
Mensajes: 345
Antigüedad: 22 años, 1 mes
Puntos: 2
Respuesta: Leer Variable de varios archivos a la vez.

Cita:
Iniciado por Triby Ver Mensaje
Me parece muy mala idea incluir scripts solo para analizar un valor y, si no coincide, "descartar" el resto.

No sería mejor tener una lista de archivos y su nivel correspondiente?

Código PHP:
Ver original
  1. $scripts = array(
  2.     // Archivos de nivel 1
  3.     1 => array(
  4.         'archivo1', 'archivo2', 'archivo3', '...'
  5.     ),
  6.     // Archivos de nivel 2
  7.     2 => array(
  8.         'archivo4', 'archivo5', 'archivo6', '...'
  9.     )
  10. );

Ahora, leyendo bien tu mensaje, estamos hablando de permisos de usuarios; creo que te convendría descargar un script de foros como PhpBB, MyBB, etc. y revises cómo manejan estas cuestiones.
Si entiendo, lo que pasa es que los archivos se van agregando conforme se van creando. Es casi como módulos, donde el acceso está permitido a los usuarios conforme el valor de $nivel que tengan.
Por ahora lo solucioné con glob()
algo así:
Código PHP:
foreach (glob('./modulos/*.php') as $filename)
{
    include_once 
$filename;
    if(
$level==3)
        
$menu.='<a href="'.$filename.'">'.$modul.'</a>';
}
echo 
$menu
__________________
Servicios computacionales
Linux registered User # 306587
Ubuntu user #14563

Etiquetas: variable
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




La zona horaria es GMT -6. Ahora son las 00:56.