Как получить последнее имя файла или путь к файлу, который добавлен в каталог?Получить последнее дополнение файла в каталоге
ответ
$path = "/path/to/my/dir";
$latest_ctime = 0;
$latest_filename = '';
$d = dir($path);
while (false !== ($entry = $d->read())) {
$filepath = "{$path}/{$entry}";
// could do also other checks than just checking whether the entry is a file
if (is_file($filepath) && filectime($filepath) > $latest_ctime) {
$latest_ctime = filectime($filepath);
$latest_filename = $entry;
}
}
// now $latest_filename contains the filename of the file that changed last
Перечислить все файлы каталога, получить файлmime() каждого из них, и все готово.
Я думаю, что вам нужно, а 'filectime'. – Gumbo
@Gumbo: зачем использовать filectime вместо filemtime. Я вижу, что filemtime() работает лучше на множестве платформ, а filectime(), похоже, не работает должным образом на всех серверах Windows. – secretlm
@secretlm 'filectime', вероятно, не работает, потому что его только время создания файла, а не время модификации – FluorescentGreen5
$dir = dirname(__FILE__).DIRECTORY_SEPARATOR;
$lastMod = 0;
$lastModFile = '';
foreach (scandir($dir) as $entry) {
if (is_file($dir.$entry) && filectime($dir.$entry) > $lastMod) {
$lastMod = filectime($dir.$entry);
$lastModFile = $entry;
}
}
Если работать на Linux, посмотрите на http://us2.php.net/manual/en/book.inotify.php. Предполагается, что вы оставите сценарий, ожидающий &, записывая в фоновом режиме эти события.
$dir = "/path/to/Your/dir";
$pattern = '\.(zip|ZIP|pdf|PDF)$'; // check only file with these ext.
$newstamp = 0;
$newname = "";
if ($handle = opendir($dir)) {
while (false !== ($fname = readdir($handle))) {
// Eliminate current directory, parent directory
if (ereg('^\.{1,2}$',$fname)) continue;
// Eliminate other pages not in pattern
if (! ereg($pattern,$fname)) continue;
$timedat = filemtime("$dir/$fname");
if ($timedat > $newstamp) {
$newstamp = $timedat;
$newname = $fname;
}
}
}
closedir ($handle);
// $newstamp is the time for the latest file
// $newname is the name of the latest file
// print last mod.file - format date as you like
print $newname . " - " . date("Y/m/d", $newstamp);
В нем используется обесцененная функция: ereg() –
filectime предназначен для тех случаев, когда изменены метаданные, такие как значения chmod. filemtime предназначен для фактического изменения контента.
Мое решение с PHP 5:
$dir = "/path/to/Your/dir";
$arraydir =scandir($dir, 1);
echo "arraydir 0: " . $arraydir[0] . "<br/>"; // 1. new file
echo "arraydir 1: " . $arraydir[1] . "<br/>"; // 2. new file
echo "arraydir elements: " . count($arraydir) . "<br/>";
(поиск слова DE: neuste унд zweitneuste Datei Эйнес Ordners Anzeigen PHP) Массачусетский технологический институт
- 1. Как получить последнее имя файла в каталоге?
- 2. Получить последнее Created имени файла в каталоге
- 3. Получить последнее X количество файлов в каталоге
- 4. Получить последнее изменение времени файла в linux
- 5. Ant Задача получить последнее модифицированное время файла
- 6. Как получить последнее имя постфиксного файла C#
- 7. Правильный способ получить последнее дополнение к модели Django
- 8. Последнее изменение времени в каталоге на основе содержащегося содержимого файла?
- 9. Получить последний файл в каталоге
- 10. Reverse дополнение Fasta файла
- 11. Как получить последнее имя файла записи на основе имени файла?
- 12. Получить часть имени каждого файла в каталоге
- 13. SSIS - получить имя файла в каталоге SFTP?
- 14. Получить файлы из файла FileDescriptor в каталоге
- 15. Получить имя другого файла в каталоге
- 16. MATLAB: получить последнее время модификации файла
- 17. Получить EXE версии файла из файла в текущем каталоге
- 18. Получить имя файла из последнего по алфавиту файла в каталоге
- 19. Как получить содержимое файла из определенного имени файла в каталоге?
- 20. Запись файла в каталоге
- 21. Поиск файла в каталоге
- 22. Как получить только последнее имя файла внутри каталога
- 23. получить последнее слово в тексте
- 24. как получить последнее время файла в S3 в java
- 25. sendemail последнее обновление файла
- 26. Java awt Почему я могу удалить последнее последнее дополнение к связанному списку
- 27. Как получить последнее последнее значение от RecyclerView
- 28. Получить последнее время для создания файла в Unix
- 29. Как получить последнее имя файла в Swift 2.0 iOS9?
- 30. Как я могу получить последнее измененное время файла в asp.net?
[ctime не время создания] (http://userprimary.net/posts/2007/11/18/ctime-in-unix-means-last-change-time-not-create-time/) – kojiro
любой новый метод для быстрого поиска или сканирования? – Muhaimin
@Muhaimin Abdul Попробуйте scandir() ~ PHP 5 –