PHP - leer archivos de un directorio segun su fecha de creacion

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

leer archivos de un directorio segun su fecha de creacion

Publicado por Mauricio (30 intervenciones) el 12/06/2018 22:16:42
Hola necesito leer archivos de una carpeta en especifico (en esta carpeta hay mas de 1500 archivos)
quiero leer los archivos que hayan sido creados al dia de hoy para poder seguir con el proceso que ocupo.
Alguna idea ?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

leer archivos de un directorio segun su fecha de creacion

Publicado por Yamil Bracho (888 intervenciones) el 12/06/2018 22:47:16
Pudiera ser algo como :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$path    = '/temp';
 
// Lee archivos y elimina . y ..
$files = array_diff(scandir($path), array('.', '..'));
 
$hoy = date('d/m/Y', time());
foreach($files as $file) {
	$fecha = date ("d/m/Y", filemtime($file));
	if ($hoy == $fecha) {
		echo $file . "," . $fecha . PHP_EOL;
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

leer archivos de un directorio segun su fecha de creacion

Publicado por kip (877 intervenciones) el 13/06/2018 03:39:35
Hola, lo mejor en tu caso, en el que tienes muchos archivos, es usar un Iterador y no alguna función que te retorne los valores en bruto lo cual haría que el consumo de recursos sea mayor, PHP para estos casos te ofrece FilesystemIterator, en tu caso podria servirte algo como esto:

1
2
3
4
5
6
7
8
$fsi = new FilesystemIterator('/path/to/your/file');
$dateObj = new DateTime('2018-05-06'); // La fecha que desees
 
foreach ($fsi as $fo) {
    if ($foo->getMTime() >= $dateObj->getTimestamp()) {
        echo $fo->getFilename(), PHP_EOL;
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar