我知道如何在PHP中读取文件,但我想读取在特定文件夹中创建的最新文件。
我有一个指向read.php
read.php读取文件夹c:\file\
并读取在该文件夹中创建的最新文件。
我找不到有关如何执行此操作的详细信息
任何人都可以帮我这样做。
答案 0 :(得分:10)
获取C:\file
中的最新文件:
$files = glob('c:/file/*.*');
$files = array_combine($files, array_map('filectime', $files));
arsort($files);
echo key($files); // the filename
答案 1 :(得分:0)
遍历目录,跟踪最近创建的文件,每次迭代并检查后返回最新文件。
$dir = "C:\file\";
if ($handle = opendir($dir)) {
$latest = null;
while (($cur = readdir($handle) !== false) {
if ($latest == null || filectime($cur) > filectime($latest)) {
$latest = $cur;
}
}
closedir($handle);
}
return $latest;
注意:大多数Unix操作系统都不跟踪文件创建日期,因此您可以获得的最接近日期是最后修改日期(通过filemtime
或filectime
)。但是,在Windows上,filectime
会返回创建日期,filemtime
会返回上次修改日期。
答案 2 :(得分:0)
这将迭代目录中的每个文件,并确定哪个文件具有最新的“创建时间”:
function find_latest()
{
$l = 0;
$r = '';
foreach( new DirectoryIterator('C:\\file') as $file )
{
$ctime = $file->getCTime(); // Time file was created
$fname = $file->getFileName(); // File name
if( $ctime > $l )
{
$l = $ctime;
$r = $fname;
}
}
return $r;
}