Подтвердить что ты не робот

Как получить самый новый файл в каталоге в php

Итак, у меня есть это приложение, которое обрабатывает файлы CSV. У меня есть строка кода для загрузки файла.

$myFile = "data/FrontlineSMS_Message_Export_20120721.csv";  //The name of the CSV file
$fh = fopen($myFile, 'r');                             //Open the file

Я хотел бы найти способ, которым я мог бы выглядеть в каталоге data и получить самый новый файл (все они имеют теги даты, чтобы они были в порядке внутри data) и задали имя, равное $myFile.

Я действительно не мог найти и понять документацию php-каталогов, поэтому любые полезные ресурсы также будут оценены. Спасибо.

4b9b3361

Ответ 1

Здесь попытка использовать scandir, предполагая, что у единственных файлов в каталоге есть временные имена файлов:

$files = scandir('data', SCANDIR_SORT_DESCENDING);
$newest_file = $files[0];

Сначала мы перечисляем все файлы в каталоге в порядке убывания, затем, какой бы из них ни был первым в этом списке, имеет "наибольшее" имя файла - и, следовательно, наибольшее значение метки времени - и, следовательно, самое новое.

Обратите внимание, что scandir был добавлен в PHP 5, но его страница документации показывает, как реализовать это поведение в PHP 4.