J'ai donc cette application qui traite les fichiers CSV. J'ai une ligne de code pour charger le fichier.
$myFile = "data/FrontlineSMS_Message_Export_20120721.csv"; //The name of the CSV file
$fh = fopen($myFile, 'r'); //Open the file
Je voudrais trouver un moyen de regarder dans le répertoire data
et obtenir le fichier le plus récent (ils ont tous des balises de date afin qu'ils soient en ordre à l'intérieur de data
) et définir le nom égal à $myFile
.
Je ne pouvais vraiment pas trouver et comprendre la documentation des répertoires php, donc toute ressource utile serait également appréciée. Je vous remercie.
Voici une tentative utilisant scandir
, en supposant que les seuls fichiers du répertoire ont noms de fichiers horodatés :
$files = scandir('data', SCANDIR_SORT_DESCENDING);
$newest_file = $files[0];
Nous listons d'abord tous les fichiers du répertoire dans l'ordre décroissant, puis, celui qui est le premier dans cette liste a le "plus grand" nom de fichier - et donc la plus grande valeur d'horodatage - et est donc le plus récent.
Notez que scandir
a été ajouté dans PHP 5, mais sa page de documentation montre comment implémenter ce comportement dans PHP = 4.