2010-01-19 62 views

回答

8

使用Directories扩展,你可以简单地用

$all_files = scandir("/my/path",1); 
$last_files = $all_files[0]; 
+0

'SCANDIR()'不指定*,其中*排序它使用,因此您的结果可能是不准确的,如果你有非ASCII字符的文件。 – 2010-01-19 21:51:38

+0

使用字符串选项,可以期望它与sort()所做的一样。 – 2010-01-19 21:54:16

+0

@Ignacio:根据http://uk.php.net/manual/en/function.scandir.php,“默认排序顺序是按升序排列字母” – 2010-01-19 21:54:18

2

scandir命令返回文件的目录列表中的数组做。第二个参数指定排序顺序(默认为升序,降序为1)。

<?php 
$dir = '/tmp'; 
$files = scandir($dir, 1); 
$last_file = $files[0]; 
print($last_file); 
?> 
+1

我假设你只想在'$ last_file = = $ files [0];'行中有一个'=';但是? – PeterJCLaw 2010-01-19 21:56:45

+0

@PeterJClaw:谢谢 - 已经纠正了答案。 – 2010-01-19 21:57:27

0
$files = scandir('path/to/dir'); 
sort($files, SORT_LOCALE_STRING); 
array_pop($files); 
相关问题