3

PHP でファイルを読み取る方法は知っていますが、特定のフォルダーに作成された最新のファイルを読み取りたいです。

を指すhtmlボタンがありますread.php

read.php はフォルダーc:\file\ を読み取り、そのフォルダーに作成された最新のファイルを読み取ります。

これを行う方法に関する多くの情報を見つけることができませんでした

誰でも私がそれをするのを手伝ってくれますか?

4

3 に答える 3

15

で最新のファイルを取得しますC:\file

$files = glob('c:/file/*.*');
$files = array_combine($files, array_map('filectime', $files));
arsort($files);
echo key($files); // the filename 
于 2012-06-12T01:12:35.110 に答える
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 オペレーティング システムはファイルの作成日を記録していませfilemtimefilectime。ただし、Windows ではfilectime、作成日をfilemtime返し、最終更新日を返します。

于 2012-06-12T01:11:08.753 に答える
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;
}
于 2012-06-12T01:17:28.893 に答える