Foros del Web » Programando para Internet » PHP »

Leer valores de archivos de un directorio?

Estas en el tema de Leer valores de archivos de un directorio? en el foro de PHP en Foros del Web. Hola, necesito calcular los puntos de los archivos de un directorio, para ordenarlos, la idea es crear un top con los usuarios que mas puntos ...
  #1 (permalink)  
Antiguo 09/04/2010, 07:47
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Leer valores de archivos de un directorio?

Hola, necesito calcular los puntos de los archivos de un directorio, para ordenarlos, la idea es crear un top con los usuarios que mas puntos tienen,

El sistema es sin bases de datos, en el directorio /usuarios/ se encuentran todos los archivos con los datos de los usuarios con archivos php;

seapirates.php
manolo.php
pedro.php

etc..

dentro tienen variables

<?php
$puntos = "100";
?>

Como puedo hacer un script php que lea todos los archivos y ordene a los usuarios segun sus puntos?? Es algo que me lleva loco todo el dia :/
  #2 (permalink)  
Antiguo 09/04/2010, 09:45
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Leer valores de archivos de un directorio?

Lo que se me ocurre es que de primero, hagas un bucle que lea el directorio con los archivos que tienen la información que necesitas, para eso usa: http://es.php.net/manual/en/function.opendir.php (opendir),
http://es.php.net/manual/en/function.readdir.php (readdir) y
http://es.php.net/manual/en/function.closedir.php (closedir)

Despues tendras que leer archivo por archivo (con otro bucle) y ver que valor tiene la variable que necesitas, para leer los archivos puedes usar: http://es.php.net/manual/en/function.fopen.php (fopen),
http://es.php.net/manual/en/function.fread.php (fread) y
http://es.php.net/manual/en/function.fclose.php (fclose)

Y en los archivos donde tienes las variables, te recomiendo que no pongas <?php ?> si no tienen nada que procesar, que sea un archivo de texto plano y que las variables simplemente esten asi, Puntos=100, te será más fácil a la hora de recojer el dato y pasarlo por ejemplo a un array con todos los nombres de las personas.


Un saludo
  #3 (permalink)  
Antiguo 10/04/2010, 02:07
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Respuesta: Leer valores de archivos de un directorio?

Me lo leí, pero no tengo ni idea de como hacerlo funcionar..
  #4 (permalink)  
Antiguo 10/04/2010, 03:34
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Leer valores de archivos de un directorio?

Si no eres capaz de hacerlo te recomiendo que sigas leyendo manuales de PHP, como por ejemplo este: http://www.forosdelweb.com/wiki/Manual_de_PHP

O que postees en el foro de ofertas de empleo, no creo que nadie vaya hacerte un código gratis.

También puedes intentarlo y si en algún momento tienes un problema o duda posteala y te ayudaremos en lo que podamos.


Un saludo
  #5 (permalink)  
Antiguo 10/04/2010, 16:27
 
Fecha de Ingreso: julio-2008
Mensajes: 85
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Leer valores de archivos de un directorio?

Código PHP:
Ver original
  1. <?php
  2. $directorio = '/home/user/puntuaciones/';
  3. $archivos = scandir($directorio);
  4. $usuarios = array();
  5. foreach($archivos as $archivo) {
  6.   if (!is_file($directorio.$archivo)) continue;
  7.   include($directorio.$archivo);
  8.   $usuarios[$puntos][] = basename($archivo,'.php');
  9. }
  10. krsort($usuarios);
  11. $usuariosOrdenados = array();
  12. foreach($usuarios as $grupo) {
  13.   $usuariosOrdenados = array_merge($usuariosOrdenados,$grupo);
  14. }
  15. print_r($usuariosOrdenados);
  16. ?>
__________________
Perros y cachorros
  #6 (permalink)  
Antiguo 11/04/2010, 04:55
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Respuesta: Leer valores de archivos de un directorio?

Muchisimas gracias loveMeNot, lo intenté, pero el problema que tenia es que me ordenaba los usuarios por fecha de registro T_T


y otra duda, s epuede poner la cantidad de puntos que tiene cada uno y que este cada uno en una linea?

Etiquetas: directorio
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 22:02.