file_ (임의 번호) .css로 시작하는 그 디렉토리 아래에있는 파일 수에서 최신 업데이트 된 파일을 가져와야합니까? 파일 존재의 수는 다음과 같이 있습니다 :PHP에서 가장 최근에 업데이트 된 파일 얻기
file_12.css
file_34.css
file_14.css
내가 가장 최근에 업데이트 된 파일을 얻을합니다. 거기에 PHP에서 그런 파일을 검색 할 수있는 모든 readymade 함수가 있습니까?
file_ (임의 번호) .css로 시작하는 그 디렉토리 아래에있는 파일 수에서 최신 업데이트 된 파일을 가져와야합니까? 파일 존재의 수는 다음과 같이 있습니다 :PHP에서 가장 최근에 업데이트 된 파일 얻기
file_12.css
file_34.css
file_14.css
내가 가장 최근에 업데이트 된 파일을 얻을합니다. 거기에 PHP에서 그런 파일을 검색 할 수있는 모든 readymade 함수가 있습니까?
예가 :
int filemtime (string $filename)
정보 : http://php.net/manual/en/function.filemtime.php
string readdir ([ resource $dir_handle ])
정보 : http://php.net/manual/en/function.readdir.php
또는
array scandir (string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context ]])
filemtime
과 readdir
의 조합을 사용하여 수정 된 시간을 키로하고 파일 이름을 값으로 사용하여 파일의 이름과 마지막 업데이트 시간을 모두 읽을 수 있다고 가정하면 정렬 기능을 사용하십시오 , 그리고 가장 큰 수정 시간으로 파일을 가져옵니다.
트릭 (테스트하지)해야 할 다음과 같은 뭔가 :
<?php
$files = array();
if ($handle = opendir('/path/to/files')) {
while (false !== ($file = readdir($handle))) {
if (is_file($file)) {
$modified = filemtime($file);
$files[$modified] = $file;
}
}
closedir($handle);
}
krsort($files);
$last_modified_file = array_shift($files);
, 유일한 문제 I 'filemtime()'을 사용했을 때'filemtime ('/ path/to/files /'.$ file)'경로 만 사용하면됩니다. –
function cmp($a, $b)
{
if(!is_file($b) || !strpos('file_', $b)) return -1;
$a = filemtime($a);
$b = filemtime($b);
return ($a == $b) ? 0 :(($a > $b) ? -1 : 1);
}
usort($handle = scandir('/path/to/files'), "cmp");
$file = $handle[0];
unset($handle);
을 예,이 올바른 방향으로 날 이끌어 http://php.net/filemtime –