Как получить самый новый файл в каталоге в 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-каталогов, поэтому любые полезные ресурсы также будут оценены. Спасибо.
Ответы
Ответ 1
Здесь попытка использовать scandir
, предполагая, что у единственных файлов в каталоге есть временные имена файлов:
$files = scandir('data', SCANDIR_SORT_DESCENDING);
$newest_file = $files[0];
Сначала мы перечисляем все файлы в каталоге в порядке убывания, затем, какой бы из них ни был первым в этом списке, имеет "наибольшее" имя файла - и, следовательно, наибольшее значение метки времени - и, следовательно, самое новое.
Обратите внимание, что scandir
был добавлен в PHP 5, но его страница документации показывает, как реализовать это поведение в PHP 4.
Ответ 2
Если ваши имена не имеют отметки времени в названии, на этот вопрос уже был дан ответ: PHP: получить последнее добавление файла в каталоге