PHP でファイルを読み取る方法は知っていますが、特定のフォルダーに作成された最新のファイルを読み取りたいです。
を指すhtmlボタンがありますread.php
read.php はフォルダーc:\file\
を読み取り、そのフォルダーに作成された最新のファイルを読み取ります。
これを行う方法に関する多くの情報を見つけることができませんでした
誰でも私がそれをするのを手伝ってくれますか?
で最新のファイルを取得しますC:\file
。
$files = glob('c:/file/*.*');
$files = array_combine($files, array_map('filectime', $files));
arsort($files);
echo key($files); // the filename
ディレクトリを反復処理し、最後に作成されたファイルを追跡し、すべてのファイルが反復されてチェックされると、最新のファイルを返します。
$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
返し、最終更新日を返します。
これは、ディレクトリ内の各ファイルを反復処理し、どのファイルが最新の「作成時間」を持つかを判断します。
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;
}