Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema matemático para renombrar archivos en PHP

Estas en el tema de Problema matemático para renombrar archivos en PHP en el foro de PHP en Foros del Web. Hola buenas a todos! Antes de nada decir que este es mi primer tema y que soy un poco bastante novato en el mundo de ...
  #1 (permalink)  
Antiguo 24/09/2015, 03:24
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 9 años, 1 mes
Puntos: 0
Problema matemático para renombrar archivos en PHP

Hola buenas a todos! Antes de nada decir que este es mi primer tema y que soy un poco bastante novato en el mundo de php.

Tengo un problema desde hace bastaaante tiempo en una web que estoy haciendo pero lo he dejado ir pasando.

Básicamente lo que hace la página que estoy haciendo es analizar varios directorios en busca de imágenes y las imprime con un echo. Hasta ahí todo bien.
El gran problema, o almenos yo no se su respuesta, es que tras escanear todos los directorios, almacenar las rutas en arrays y "ordenar" los archivos por nombre (mas adelante explico que nombres), los imprime pero desordenados.

La forma en la cual empiezan los nombres de los archivos de imagenes es un poco caótica porque lo que le pone al inicio del nombre es la fecha tal cual para que al ordenar el array cuando lo necesite, se muestre de mas reciente a menos. Tonto de mi. Eso no sirve. El código que obtiene la fecha y todo para luego añadirsela al nombre (bueno el codigo ya no es exactamente así porque lo cambié pero para que os hagais una idea):

Código HTML:
$hora = date("G").":".date("i").":".date("s")."_".date("d")."-".date("m")."-".date("Y");


NECESITO algun algoritmo o algo para que obtenga numeros en base a una fecha para que al ordenarlo alfabéticamente, se muestren de lo mas nuevo a mas antiguo. Un ejemplo que he pensado de los otros muchisimos es multiplicarel año, la fecha y todo eso par que me de una especie de codigo pero nada.

UN SALUDO y perdón si me enrroyo mucho o no se explicarme con claridad..
  #2 (permalink)  
Antiguo 24/09/2015, 08:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema matemático para renombrar archivos en PHP

Me gustaría ver una lista de los nombres de archivos que obtienes para entender mejor.

Ahora, con los valores de la fecha puede usar strtotime() para convertirlo a un número entero y así ordenar por fecha.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/09/2015, 08:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema matemático para renombrar archivos en PHP

Cita:
NECESITO algun algoritmo o algo para que obtenga numeros en base a una fecha para que al ordenarlo alfabéticamente, se muestren de lo mas nuevo a mas antiguo. Un ejemplo que he pensado de los otros muchisimos es multiplicarel año, la fecha y todo eso par que me de una especie de codigo pero nada.
La regla es bien básica:
1) Usa el formato AAAAMMDDHHMISS como prefijo o sufijo el nombre.
2) NUNCA pongas caracteres reservados del sistema, como son los ":"... Eso es elemental... No puedes usar ! $ % & / \: ; , . * ?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 24/09/2015, 09:41
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Problema matemático para renombrar archivos en PHP

Cita:
Iniciado por pateketrueke Ver Mensaje
Me gustaría ver una lista de los nombres de archivos que obtienes para entender mejor.

Ahora, con los valores de la fecha puede usar strtotime() para convertirlo a un número entero y así ordenar por fecha.
Estos son los archivos que se suben al servidor:


Antes del signo igual esta la fecha empezando por el año, el mes, el dia, la hora, minuto y segundo de subida todo junto, la otra fecha es otra prueba que hice antes de eso pero que tampoco me funcionó y es lo mismo, muestra la fecha y el resto es el nombre original de la subida. Como podeis comprobar es un caos pero hago lo que puedo y lo intento.
  #5 (permalink)  
Antiguo 24/09/2015, 09:51
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Problema matemático para renombrar archivos en PHP

Es lo que hago pero no los ordena correctamente cuando el mes aumenta o esas cosas.
  #6 (permalink)  
Antiguo 24/09/2015, 10:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema matemático para renombrar archivos en PHP

AAAAMMDDHHMISS + Nombre


Estás poniendo el año al final y eso está MAL, porque el ordenamiento de los nombres es ALFABÉTICO.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 24/09/2015, 10:22
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Problema matemático para renombrar archivos en PHP

Cita:
Iniciado por gnzsoloyo Ver Mensaje
AAAAMMDDHHMISS + Nombre


Estás poniendo el año al final y eso está MAL, porque el ordenamiento de los nombres es ALFABÉTICO.
WOW MUCHISIMAS GRACIAS!
En realidad lo del año esta al inicio donde pone "15" porque esos valores antes del igual supongo que serán los primeros que coge para ordenar pero me he puesto a pensar y resulta que en vez de abreviar por ejemplo "15", que ponga "2015" y en minutos por ejemplo en vez de poner "9" que ponga "09". Creo que eso lo arreglaría.

Por si os sirve, la solucion es cambiar esto:
Código PHP:
$fecha date("y").date("n").date("j").date("g").date("i").date("s"); 
por esto:
Código PHP:
$fecha date("Y").date("m").date("d").date("H").date("i").date("s"); 
MUCHISIMAS GRACIAS A TODOS POR CONTESTARME! Estoy muy feliz de haber arreglado ese problema la verdad ^^

Un saludo
  #8 (permalink)  
Antiguo 24/09/2015, 13:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema matemático para renombrar archivos en PHP

Hay una forma más breve por si acaso:
Código PHP:
Ver original
  1. $fecha = date("YmdHis");
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 25/09/2015, 01:20
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Problema matemático para renombrar archivos en PHP

Cita:
Iniciado por pateketrueke Ver Mensaje
Hay una forma más breve por si acaso:
Código PHP:
Ver original
  1. $fecha = date("YmdHis");
WoW también pinta bastante bien *-*. Gracias de nuevo

Etiquetas: date, nombre, opendir
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 16:47.