Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/01/2018, 05:32
Avatar de SirZoX
SirZoX
 
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 18 años
Puntos: 2
Respuesta: Averiguar fecha de creación de un fichero en un servidor FTP

Me respondo a mi mismo, ya que he encontrado una solución que me funciona... al menos por ahora parece que funciona:
Código PHP:
function compararFechas($fechaSinAnyo) {

  
$ahora date("Y-m-d H:i");
  
$anyoActual date("Y");
  
$anyosPosibles = array($anyoActual$anyoActual-1);

  
$fechaSinAnyo date("m-d H:i"$fechaSinAnyo);

  foreach(
$anyosPosibles as $anyoPosible) {
    
$fechaCompleta "$anyoPosible-$fechaSinAnyo";

    if (
$fechaCompleta <= $ahora) {
      
//echo "$fechaCompleta es igual, o menor, que ahora ($ahora), por tanto es una fecha válida<br>";
      
return $fechaCompleta;
    }
  }

Es bastante simple. En un array pongo el año actual y el año anterior. Recojo la fecha que devuelve el ftp_rawlist y que venía sin año. Dentro del foreach a esa fecha sin año, le añado "manualmente" tanto el año en curso, como el anterior, y las comparo con la fecha actual.

Si la fecha resultante es mayor que el día de hoy, significa que estamos hablando del futuro, por tanto es imposible, ya que no podemos tener un archivo con fecha de creación superior al momento actual. De modo que el bucle retorna sólo la fecha que puede ser válida, ya que siempre debe ser menor que la fecha de hoy.

Ojo, esta "trampa" sirve sólo cuando los años posibles son el actual y el año pasado, si hubiera más posibilidades este script no funcionaría puesto que habría dos años que podrían ser correctos.