Foros del Web » Programando para Internet » PHP »

Problema con usort

Estas en el tema de Problema con usort en el foro de PHP en Foros del Web. Hola, tengo el siguiente codigo: Código PHP: function  listmtime ( $c , $d ) {  global  $file_folder ;   $c = time () -  filemtime ( ...
  #1 (permalink)  
Antiguo 04/03/2011, 20:28
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 16 años, 3 meses
Puntos: 0
Problema con usort

Hola, tengo el siguiente codigo:

Código PHP:
function listmtime($c,$d)
{
 global 
$file_folder;
 
$c=time() - filemtime("users/$c/information/online.db");  
 
$d=time() - filemtime("users/$d/information/online.db");  
 if(
$c==$d)
 {  
  return 
0;
 }
 return (
$c $d) ? -1;
}

$fs = array();
$file_folder "users/$username/friends/online";
$dir = @opendir($file_folder);
while (
$file_name = @readdir ($dir))
{
 
$fs[]=$file_name;
}
 @
usort($fs,"listmtime");
 foreach(
$fs as $file_name){
 if (
$file_name != "." && $file_name != "..")
 {
  echo 
$file_name;
 } 
Y quiero que que se ordenen por el modified time de un archivo en este caso "users/$d/information/online.db" de mas reciente a mas viejo.

El problema es que no anda, y si pongo en vez de eso "$file_folder/$d" anda pero con el modified time del archivo mismo, no del indicado.

Muchisimas gracias
  #2 (permalink)  
Antiguo 04/03/2011, 20:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con usort

yo no veo la necesidad de usar funciones ordenación personalizadas, con que al iterar los archivos almacenes el nombre de archivo como clave, y su fecha de modificación como valor basta...

ya después aplicas una función nativa de ordenamiento, y bingo!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/03/2011, 22:16
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Problema con usort

No entiendo muy bien, supongo que es muy avanzado para mi. Pero podrias representarlo en un script a ver como seria? si no es molestia.
  #4 (permalink)  
Antiguo 04/03/2011, 22:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con usort

Código PHP:
while ($file_name = @readdir ($dir))
{
 
$fs[$file_name]=filemtime("/yo/que/se/$file_name");
}
ordenar($fs);
print_r($fs
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 04/03/2011, 23:50
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Problema con usort

Ahora si! muchisimas gracias.

Edit:
Ahora que veo bien, el problema no viene de ahi, sino de aca:

Código PHP:
Ver original
  1. function listmtime($c,$d)
  2. {
  3.  global $file_folder;
  4.  $c=time() - filemtime("users/$c/information/online.db");  
  5.  $d=time() - filemtime("users/$d/information/online.db");  
  6.  if($c==$d)
  7.  {  
  8.   return 0;
  9.  }
  10.  return ($c < $d) ? -1 : 1;
  11. }

porque lo sigue ordenando mal :S

Etiquetas: Ninguno
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 21:03.