una - Cómo obtener el archivo más nuevo en un directorio en php
subir archivos php (2)
Así que tengo esta aplicación que procesa archivos CSV. Tengo una línea de código para cargar el archivo.
$myFile = "data/FrontlineSMS_Message_Export_20120721.csv"; //The name of the CSV file
$fh = fopen($myFile, ''r''); //Open the file
Me gustaría encontrar una forma en la que pudiera buscar en el directorio de data
y obtener el archivo más nuevo (todos ellos tienen etiquetas de fecha para que estén en orden dentro de los data
) y establecer el nombre igual a $myFile
.
Realmente no pude encontrar y entender la documentación de los directorios de PHP, por lo que cualquier recurso útil también sería apreciado. Gracias.
Aquí hay un intento de usar scandir
, asumiendo que los únicos archivos en el directorio son los archivos con la marca de tiempo que desea:
$files = scandir(''data'', SCANDIR_SORT_DESCENDING);
$newest_file = $files[0];
Primero listamos todos los archivos en el directorio en orden descendente, luego, el primero en esa lista tiene el nombre de archivo "más grande" y, por lo tanto, el mayor valor de marca de tiempo, y por lo tanto es el más nuevo.
Tenga en cuenta que scandir
se agregó en PHP 5, pero scandir muestra cómo implementar ese comportamiento en PHP 4.
Si sus nombres de archivo no tienen la marca de tiempo en el nombre, esta pregunta ya ha sido respondida aquí: PHP: Obtenga la última adición de archivo en un directorio